在Ubuntu環境下實現持續集成(CI)與持續部署(CD),可參考以下步驟,以GitLab CI/CD為例:
安裝必要的工具
sudo apt update
sudo apt install gitlab-runner
sudo gitlab-runner register # 按提示輸入GitLab實例URL和注冊令牌
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
配置項目CI/CD流程
.gitlab-ci.yml文件,定義構建、測試、部署步驟。例如:stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building the project..."
- npm install # 以Node.js項目為例
- npm run build
test_job:
stage: test
script:
- echo "Running tests..."
- npm test
deploy_job:
stage: deploy
script:
- echo "Deploying the project..."
- scp -r build/* user@remote-server:/path/to/deploy # 部署到遠程服務器
only:
- master # 僅在master分支觸發部署
觸發CI/CD流程
.gitlab-ci.yml中的任務,可在GitLab的“CI/CD → Pipelines”中查看執行狀態和日志。擴展部署方式
deploy_job:
stage: deploy
image: docker:dind
variables:
DOCKER_HOST: tcp://docker:2375
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
kubectl),在部署階段將應用部署到集群。工具選擇參考:
具體配置可根據項目語言(如Python、Java等)和部署目標(服務器、云平臺)調整腳本和工具鏈。[1,3,4,5,6,7,8,9,10,11]