linux

Linux中GitLab如何部署CI/CD

小樊
35
2025-10-16 10:06:50
栏目: 智能运维

1. 前置准备:安装GitLab(若未部署)
在Linux服务器上安装GitLab是实现CI/CD的基础。以Ubuntu为例,步骤如下:

2. 安装与注册GitLab Runner
GitLab Runner是执行CI/CD任务的代理,需单独安装并注册到GitLab实例:

3. 创建.gitlab-ci.yml配置文件
在项目根目录下创建.gitlab-ci.yml文件,定义CI/CD流程的核心逻辑(包括阶段、任务、产物等)。以下是一个通用示例:

stages:
  - build    # 构建阶段:编译代码、生成产物
  - test     # 测试阶段:运行单元测试、集成测试
  - deploy   # 部署阶段:将产物部署到目标环境

# 构建任务
build_job:
  stage: build
  script:
    - echo "Building the project..."
    - mkdir -p build
    - cd build && cmake .. && make  # 示例:C++项目构建
  artifacts:
    paths:
      - build/*.jar  # 保存构建产物(如Java的jar包)
    expire_in: 1 hour  # 产物过期时间(可选)

# 测试任务
test_job:
  stage: test
  script:
    - echo "Running tests..."
    - cd build && ctest  # 示例:C++项目测试
  needs: ["build_job"]  # 依赖构建任务完成(可选,确保构建成功后再测试)

# 部署任务(仅master分支触发)
deploy_job:
  stage: deploy
  script:
    - echo "Deploying to production server..."
    - scp -r build/* user@remote-server:/var/www/html  # 示例:SCP传输文件到Linux服务器
  only:
    - master  # 仅当代码推送到master分支时触发(可选,可改为其他分支或标签)

关键说明

4. 配置CI/CD变量(可选但推荐)
若流程中需要敏感信息(如Docker Registry密码、服务器SSH密钥、第三方服务API密钥),可通过GitLab的CI/CD变量管理:

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

git add .gitlab-ci.yml
git commit -m "Add GitLab CI/CD configuration"
git push origin master  # 推送到master分支(根据only条件触发)

触发后,可在GitLab项目页面→CI/CDPipelines查看流程执行状态(成功/失败)、日志输出及每个任务的详情。

6. 监控与调试

注意事项

0
看了该问题的人还看了