ubuntu

ubuntu gitlab持续集成实践

小樊
41
2025-07-09 22:17:49
栏目: 智能运维

在Ubuntu上配置GitLab以实现持续集成(CI)和持续部署(CD)涉及多个步骤。以下是一个详细的实践指南,帮助你设置一个基本的CI/CD管道。

安装GitLab Runner

首先,你需要在Ubuntu系统上安装GitLab Runner。以下是安装步骤:

  1. 更新包列表

    sudo apt update
    
  2. 安装依赖包

    sudo apt install curl openssh-server policycoreutils-python
    
  3. 下载并安装GitLab Runner

    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
    
  4. 赋予执行权限并安装

    sudo chmod +x /usr/local/bin/gitlab-runner
    
  5. 创建GitLab CI用户

    sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
    
  6. 安装并启动GitLab Runner

    sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
    sudo gitlab-runner start
    
  7. 注册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"

监控CI/CD流程

登录GitLab管理界面,进入 CI/CD - Pipelines,可以查看当前CI/CD流程的状态和结果。

优化CI/CD流程

为了提高CI/CD流程的效率和速度,可以采取以下措施:

通过以上步骤,你可以在Ubuntu系统上成功配置GitLab的持续集成系统。根据具体需求,你可以进一步自定义 .gitlab-ci.yml 文件,添加更多的任务和执行步骤。

0
看了该问题的人还看了