debian

Debian环境下GitLab的自动化部署方案

小樊
58
2025-08-16 09:43:30
栏目: 智能运维

以下是Debian环境下GitLab的自动化部署方案,涵盖安装、配置及CI/CD流程:

一、GitLab自动化部署

  1. 系统准备
    更新系统并安装依赖:

    sudo apt update && sudo apt install -y curl openssh-server ca-certificates postfix
    
  2. 添加GitLab仓库并安装
    执行官方脚本添加仓库,安装GitLab CE:

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    sudo apt install gitlab-ce
    
  3. 配置GitLab
    编辑 /etc/gitlab/gitlab.rb,设置 external_url(如 http://your-server-ip),然后执行:

    sudo gitlab-ctl reconfigure
    sudo systemctl restart gitlab
    
  4. 开放防火墙(可选)
    若启用防火墙,需放行HTTP/HTTPS端口:

    sudo ufw allow http
    sudo ufw allow https
    

二、集成CI/CD自动化部署

  1. 安装GitLab Runner
    在目标服务器安装Runner:

    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
    sudo apt install gitlab-ci-multi-runner
    sudo gitlab-runner register  # 按提示输入GitLab URL和Token
    
  2. 配置.gitlab-ci.yml
    在项目根目录创建文件,定义构建、测试、部署阶段:

    stages:
      - build
      - test
      - deploy
    
    build_job:
      stage: build
      script:
        - echo "Building application..."
        - mvn package  # 示例:Java项目构建
    
    test_job:
      stage: test
      script:
        - echo "Running tests..."
        - mvn test
    
    deploy_job:
      stage: deploy
      script:
        - echo "Deploying to production..."
        - scp target/app.jar user@server:/opt/app  # 示例:部署到服务器
      environment: production
      only: [main]  # 仅主分支触发
    
  3. 触发自动化流程
    提交代码到GitLab后,CI/CD会自动按阶段执行任务,部署结果可在GitLab项目→CI/CD→Pipelines中查看。

三、可选优化

以上步骤参考自,可根据实际需求调整配置。

0
看了该问题的人还看了