在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]