在Ubuntu上實踐GitLab CI/CD涉及幾個關鍵步驟,包括安裝和配置GitLab Runner、創建和配置.gitlab-ci.yml文件、以及設置CI/CD流程。以下是一個詳細的指南:
安裝GitLab Runner:
在Ubuntu上安裝GitLab Runner可以通過以下命令完成:
docker pull gitlab/gitlab-runner:latest
然后,運行以下命令來啟動Runner容器:
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
注冊GitLab Runner:
首先,進入GitLab項目的Settings → CI/CD → Runners頁面,復制URL和Token。然后,在Runner容器內執行注冊命令:
docker exec -it gitlab-runner gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url "http://gitlab.com" \
--registration-token "YOUR_REGISTRATION_TOKEN" \
--description="docker-runner" \
--tag-list "newdocker" \
--run-untagged="true" \
--locked="false" \
--docker-volumes "/var/run/docker.sock:/var/run/docker.sock" \
--docker-privileged="true" \
--access-level="not_protected"
.gitlab-ci.yml文件在項目根目錄下創建一個名為.gitlab-ci.yml的文件,用于定義CI/CD流程。以下是一個基本的示例:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building the project..."
- make
test_job:
stage: test
script:
- echo "Running tests..."
- ./run_tests.sh
deploy_job:
stage: deploy
script:
- echo "Deploying the application..."
- scp PROJECT_DIR/* user@remote:/path/to/deploy
only:
- master
提交并推送代碼:
將.gitlab-ci.yml文件添加到Git倉庫中,并將其推送到GitLab服務器上。
運行CI/CD流水線:
在GitLab項目頁面的側邊欄中,選擇“CI/CD”,然后點擊“Run Pipeline”按鈕。GitLab將根據.gitlab-ci.yml文件的配置自動構建、測試和部署應用程序。
查看流水線結果:
流水線運行后,可以在GitLab項目頁面查看構建過程和結果,包括構建日志、測試報告以及部署狀態。
.gitlab-ci.yml文件中定義變量,如API密鑰、服務器地址等,以提高配置的靈活性和安全性。only和except關鍵字來限制任務的執行條件,如僅在特定分支上執行某些任務。通過以上步驟,你可以在Ubuntu上成功配置和使用GitLab CI/CD來實現自動化構建、測試和部署流程。根據項目的具體需求,你可以進一步定制和擴展CI/CD流程。