在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流程。