debian

GitLab在Debian上的自动化部署

小樊
50
2025-09-09 12:14:44
栏目: 智能运维

GitLab在Debian上的自动化部署可通过以下方式实现:

一、基础环境准备

  1. 更新系统并安装依赖
    sudo apt-get update && sudo apt-get install -y curl openssh-server ca-certificates postfix
    
  2. 添加GitLab官方仓库
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    

二、自动化部署GitLab

方案1:使用Ansible Playbook

  1. 编写Playbook(示例)
    ---
    - name: Deploy GitLab on Debian
      hosts: gitlab_server
      become: yes
      tasks:
        - name: Update apt cache
          apt:
            update_cache: yes
        - name: Install GitLab CE
          apt:
            name: gitlab-ce
            state: latest
        - name: Configure GitLab
          lineinfile:
            path: /etc/gitlab/gitlab.rb
            regexp: '^external_url '
            line: 'external_url "http://your-domain.com"'
        - name: Restart GitLab
          service:
            name: gitlab
            state: restarted
    
  2. 执行Playbook
    ansible-playbook -i inventory gitlab_deploy.yml
    

方案2:使用Shell脚本

#!/bin/bash
sudo apt-get update && sudo apt-get install -y curl
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install -y gitlab-ce
sudo EXTERNAL_URL="http://your-domain.com" gitlab-ctl reconfigure

三、配置CI/CD自动化流程

  1. 安装GitLab Runner
    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
    sudo apt-get install gitlab-runner
    sudo gitlab-runner register
    
  2. 创建.gitlab-ci.yml文件
    stages:
      - build
      - test
      - deploy
    deploy_job:
      stage: deploy
      script:
        - scp -r ./deploy user@your-server:/path/to/deploy
      only:
        - master
    
  3. 配置SSH免密登录
    • 在Runner服务器生成密钥对:ssh-keygen
    • 将公钥添加到目标服务器~/.ssh/authorized_keys

四、验证与优化

安全提示:建议使用HTTPS加密传输,定期备份GitLab数据,并限制Runner的访问权限。

0
看了该问题的人还看了