在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 文件,添加更多的任务和执行步骤。