ubuntu

ubuntu gitlab持续集成如何配置

小樊
51
2025-11-09 05:34:08
栏目: 智能运维

Ubuntu环境下GitLab持续集成(CI)配置指南

持续集成(CI)是现代软件开发的关键实践,GitLab通过内置的CI/CD工具链简化了自动化流程的实现。以下是在Ubuntu系统上配置GitLab CI的详细步骤,涵盖从环境准备到流程触发的完整流程。

一、前置准备:安装GitLab

若尚未部署GitLab,需先完成安装(以Ubuntu 22.04为例):

  1. 更新系统并安装依赖
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y curl openssh-server ca-certificates tzdata perl
    
  2. 添加GitLab软件源并安装
    curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    sudo apt install -y gitlab-ce
    
  3. 配置并启动GitLab
    编辑外部URL(替换为服务器IP或域名):
    sudo nano /etc/gitlab/gitlab.rb
    # 修改以下行(例如:external_url 'http://192.168.1.100')
    
    保存后重新配置并启动服务:
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl start
    
    访问http://<服务器IP>,通过初始管理员账号(root)登录。

二、安装与注册GitLab Runner

GitLab Runner是执行CI/CD任务的代理,需单独安装并注册到GitLab项目。

1. 安装GitLab Runner

# 添加Runner官方仓库并安装
curl -L --output /etc/apt/trusted.gpg.d/gitlab.asc https://packages.gitlab.com/gitlab/gitlab-runner/gpgkey
echo "deb https://packages.gitlab.com/gitlab/gitlab-runner/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab-runner.list
sudo apt update
sudo apt install -y gitlab-runner

2. 注册Runner

运行注册命令,按提示输入GitLab实例URL(如http://192.168.1.100)和项目注册令牌(从GitLab项目→Settings→CI/CD→Runners获取):

sudo gitlab-runner register

三、配置.gitlab-ci.yml文件

.gitlab-ci.yml是CI/CD流程的核心配置文件,需放置在项目根目录下。以下是一个基础示例(适用于Java/Maven项目):

# 定义CI/CD阶段(按顺序执行)
stages:
  - build
  - test
  - deploy

# 构建阶段:编译项目
build_job:
  stage: build
  script:
    - echo "Building project with Maven..."
    - mvn clean package
  artifacts:
    paths:
      - target/*.jar  # 保存构建产物(供后续阶段使用)
    expire_in: 1 hour  # 产物过期时间

# 测试阶段:运行单元测试
test_job:
  stage: test
  script:
    - echo "Running unit tests..."
    - mvn test
  # 仅在前一阶段成功时执行(默认行为)

# 部署阶段:将产物部署到测试服务器
deploy_job:
  stage: deploy
  script:
    - echo "Deploying to test server..."
    - scp target/*.jar user@test-server:/opt/app/
  only:
    - main  # 仅main分支变更时触发

关键配置说明

四、触发CI/CD流程

配置完成后,通过以下方式触发流程:

  1. 自动触发:将代码推送至GitLab仓库(如git push origin main),Runner会自动检测.gitlab-ci.yml并执行对应Job;
  2. 手动触发:在GitLab项目→CI/CD→Pipelines页面,点击"Run pipeline"手动启动。

五、监控与调试

  1. 查看Pipeline状态:在GitLab项目→CI/CD→Pipelines页面,可查看所有Pipeline的执行状态(成功/失败/进行中);
  2. 查看Job日志:点击具体Pipeline中的Job(如build_job),可查看详细执行日志(用于调试失败问题);
  3. 重试Job:若Job失败,可点击"Retry"按钮重新执行。

六、高级配置(可选)

通过以上步骤,即可在Ubuntu环境下完成GitLab CI的基本配置,实现代码的自动化构建、测试与部署。根据项目需求,可进一步扩展流程(如集成Kubernetes、添加代码质量检查等)。

0
看了该问题的人还看了