温馨提示×

GitLab在Debian上的持续集成/持续部署实践

小樊
54
2025-09-07 12:02:41
栏目: 智能运维

以下是在Debian上实践GitLab持续集成/持续部署(CI/CD)的核心步骤:

一、环境准备

  1. 安装GitLab

    • 使用官方仓库安装:
      curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash  
      sudo apt install gitlab-ce  
      sudo gitlab-ctl reconfigure  # 完成初始化配置  
      
    • 确保开放HTTP(80)/HTTPS(443)端口。
  2. 安装GitLab Runner

    • 通过Docker快速部署:
      docker run -d --name gitlab-runner --restart always \  
      -v /var/run/docker.sock:/var/run/docker.sock \  
      gitlab/gitlab-runner:latest  
      docker exec -it gitlab-runner gitlab-runner register  # 按提示输入GitLab实例信息  
      

二、配置CI/CD流程

  1. 创建.gitlab-ci.yml文件
    在项目根目录定义构建、测试、部署阶段,例如:

    stages:  
      - build  
      - test  
      - deploy  
    build_job:  
      stage: build  
      script:  
        - echo "Building..."  
        - mkdir build && cd build && cmake .. && make  
    test_job:  
      stage: test  
      script:  
        - echo "Running tests..."  
        - cd build && ctest  
    deploy_job:  
      stage: deploy  
      script:  
        - echo "Deploying..."  
        - scp -r build/* user@server:/path/to/deploy  
      only:  
        - master  # 仅在master分支触发  
    
  2. 配置环境变量

    • 在GitLab项目设置→CI/CD→Variables中添加敏感信息(如API密钥、SSH私钥),避免硬编码在配置文件中。

三、触发与监控

  • 自动触发:代码推送至仓库或合并请求时,GitLab Runner会自动执行.gitlab-ci.yml中的任务。
  • 手动触发:可在GitLab→CI/CD→Pipelines页面手动启动流程。
  • 日志与状态:通过GitLab界面实时查看作业执行状态、日志输出及错误信息。

四、进阶实践

  • 使用Docker镜像:在.gitlab-ci.yml中指定基础镜像(如image: python:3.9),简化环境配置。
  • 缓存优化:通过cache关键字缓存依赖文件,加速构建过程。
  • 集成其他工具:添加SonarQube进行代码质量扫描,或通过SSH部署至服务器。

参考来源

0