linux

如何在Linux中集成GitLab CI/CD

小樊
37
2025-09-19 02:27:40
栏目: 智能运维

1. 准备工作:安装GitLab(若未部署)
若你的Linux服务器尚未部署GitLab,需先完成安装。以Ubuntu为例,步骤如下:

2. 安装GitLab Runner(CI/CD执行代理)
GitLab Runner是执行.gitlab-ci.yml中任务的必要组件,需在Linux服务器上安装:

3. 注册GitLab Runner
Runner需注册到GitLab项目才能接收任务:

4. 创建.gitlab-ci.yml配置文件
在项目根目录下创建.gitlab-ci.yml,定义CI/CD流程(核心配置)。示例如下:

stages:
  - build    # 构建阶段
  - test     # 测试阶段
  - deploy   # 部署阶段

variables:   # 定义变量(可选)
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

build_job:
  stage: build
  image: maven:3.8.7-openjdk-11  # 使用Maven镜像
  script:
    - echo "Building project..."
    - mvn clean package -DskipTests  # 编译打包(跳过测试)
  artifacts:                       # 传递产物给后续Job
    paths:
      - target/*.jar
    expire_in: 1 hour              # 产物有效期

test_job:
  stage: test
  image: maven:3.8.7-openjdk-11
  script:
    - echo "Running tests..."
    - mvn test                       # 执行单元测试

deploy_job:
  stage: deploy
  image: alpine:latest               # 使用轻量级镜像
  before_script:
    - apk add --no-cache openssh     # 安装SSH客户端(用于部署)
  script:
    - echo "Deploying to production server..."
    - scp -o StrictHostKeyChecking=no target/*.jar user@your-server-ip:/opt/app/  # 复制产物到服务器
  only:                              # 触发条件
    - master                         # 仅master分支推送时触发

说明

5. 配置Runner与项目关联
注册Runner时,需确保其关联到目标GitLab项目。若未自动关联,可通过GitLab项目→Settings→CI/CD→Runners页面,点击“Expand”查看Runner的注册令牌,重新执行gitlab-runner register并输入正确令牌。

6. 触发CI/CD流水线
.gitlab-ci.yml文件提交到GitLab仓库并推送,Runner会自动检测并执行流水线:

git add .gitlab-ci.yml
git commit -m "Add GitLab CI/CD configuration"
git push origin master

推送后,可在GitLab项目→CI/CD→Pipelines页面查看流水线状态(如“running”“success”“failed”),点击Job可查看详细日志。

7. 高级配置(可选)

注意事项

0
看了该问题的人还看了