在Ubuntu上配置GitLab以实现持续集成(CI)和持续部署(CD)涉及多个步骤。以下是一个详细的实践指南,帮助你设置一个基本的CI/CD管道。
首先,你需要在Ubuntu系统上安装GitLab Runner。以下是安装步骤:
更新包列表:
sudo apt update
安装依赖包:
sudo apt install curl openssh-server policycoreutils-python
下载并安装GitLab Runner:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
赋予执行权限并安装:
sudo chmod +x /usr/local/bin/gitlab-runner
创建GitLab CI用户:
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
安装并启动GitLab Runner:
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
注册GitLab Runner:
在GitLab的管理界面中,依次进入 Settings - CI/CD - Runners
,点击 Register a Runner
。按照提示输入GitLab实例的URL和注册令牌,选择执行器(如 shell
),然后保存。
.gitlab-ci.yml
文件在项目的根目录下创建或编辑 .gitlab-ci.yml
文件,定义CI/CD流程。以下是一个简单的示例:
stages:
- build
- test
- deploy
build_job:
stage: build
image: node:16
script:
- npm install
- npm run build
artifacts:
paths:
- public/
test_job:
stage: test
script:
- npm install
- npm run test
artifacts:
paths:
- coverage/
deploy_job:
stage: deploy
only:
- master
script:
- scp -r public/* user@server:/path/to/deploy/
- sudo /usr/local/nginx/sbin/nginx -s reload
GitLab CI/CD可以自动化执行测试用例,确保代码质量。在每次提交代码后,GitLab CI/CD会运行测试用例,并将测试结果通知开发人员。
在Merge Request创建时,GitLab CI/CD可以自动执行代码审查任务,如静态代码分析、代码覆盖率检查等,帮助开发人员提高代码质量。
有些敏感信息(比如数据库密码、API密钥)肯定不能直接写在配置文件里,这时候就得用到GitLab CI的环境变量功能了。在项目设置里添加环境变量:
variables:
DB_PASSWORD: "your_secret_password"
登录GitLab管理界面,进入 CI/CD - Pipelines
,可以查看当前CI/CD流程的状态和结果。
为了提高CI/CD流程的效率和速度,可以采取以下措施:
通过以上步骤,你可以在Ubuntu系统上成功配置GitLab的持续集成系统。根据具体需求,你可以进一步自定义 .gitlab-ci.yml
文件,添加更多的任务和执行步骤。