溫馨提示×

如何使用GitLab進行Linux項目的部署管理

小樊
40
2025-08-05 13:38:07
欄目: 智能運維

使用GitLab進行Linux項目的部署管理涉及多個步驟,包括環境準備、安裝依賴、配置GitLab、設置CI/CD流水線、備份與恢復策略以及安全加固等。以下是一個詳細的指南:

環境準備

  • 主機名更改sudo hostnamectl set-hostname gitlab
  • 防火墻配置
    • 對于Ubuntu:
      sudo ufw allow 80/tcp
      sudo ufw allow 443/tcp
      sudo ufw enable
      
    • 對于CentOS:
      sudo firewall-cmd --permanent --add-service=https
      sudo firewall-cmd --permanent --add-service=http
      sudo systemctl reload firewalld
      
  • 關閉SELinux
    sudo sed -i 's/selinuxenforcing/selinuxdisabled/g' /etc/sysconfig/selinux
    sudo setenforce 0
    
  • 設置EPEL源、安裝基本操作命令
    • 對于Ubuntu:
      sudo apt-get update
      sudo apt-get install -y wget
      wget -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
      sudo apt-get install -y net-tools vim lrzsz tree screen lsof tcpdump ntpdate
      
    • 對于CentOS:
      sudo yum install -y wget
      wget -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
      sudo yum install -y net-tools vim lrzsz tree screen lsof tcpdump ntpdate
      
  • 時間同步
    sudo cp /usr/share/zoneinfo/asia/shanghai /etc/localtime
    echo "*/5 * * * * ntpdate time1.aliyun.com & /dev/null && hwclock -w" /var/spool/cron/roots
    sudo systemctl restart crond
    

安裝部署

  • 下載軟件官方源或鏡像源
  • 安裝依賴包
    sudo apt-get install -y curl policycoreutils-python openssh-server
    
  • 添加GitLab軟件包倉庫
    • 對于Ubuntu:
      curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
      
    • 對于CentOS:
      curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
      
  • 安裝GitLab
    sudo apt-get update
    sudo apt-get install -y gitlab-ce
    
  • 配置并啟動GitLab
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    
  • 配置GitLab
    • 打開瀏覽器,輸入你的服務器IP地址或域名進行訪問,初始賬戶為 root,密碼為 5iveL!fe,首次登錄后會提示修改密碼。
    • 修改管理員密碼:在個人賬戶頁面中修改密碼。
    • 配置SMTP服務:在員工設置中選擇郵件通知,然后輸入SMTP服務器相關信息。
    • 使用自簽名SSL證書:在瀏覽器中訪問信任的HTTPS網站時,需要使用SSL證書。GitLab在默認情況下使用自簽名證書,用于建立HTTPS連接。

配置CI/CD流水線

  • 創建和配置 .gitlab-ci.yml 文件
    stages:
      - build
      - test
      - deploy
    
    build_job:
      stage: build
      script:
        - echo "Building the project..."
        - npm install
        - npm run build
    
    test_job:
      stage: test
      script:
        - echo "Running tests..."
        - npm test
    
    deploy_job:
      stage: deploy
      script:
        - echo "Deploying to production..."
        - ssh user@server "cd /var/www/html && git pull"
    
  • 配置自動化測試和部署:可以使用各種工具來實現自動化測試和部署,例如Maven、Gradle、npm、Docker等。

備份與恢復策略

  • 自動備份
    • 配置定時任務:
      sudo crontab -e
      # 添加以下行(每天凌晨 2 點備份)
      0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
      
    • 備份文件位置:默認路徑為 /var/opt/gitlab/backups,文件名格式為 TIMESTAMP_gitlab_backup.tar。
    • 恢復備份:
      sudo gitlab-ctl stop unicorn
      sudo gitlab-ctl stop sidekiq
      sudo gitlab-rake gitlab:backup:restore BACKUP=1696156800_2025_08_03_15.0.0
      sudo gitlab-ctl start
      

安全加固建議

  • SSH訪問控制:限制SSH登錄用戶的IP范圍。使用SSH密鑰認證,禁用密碼登錄。
  • 數據庫加密:啟用PostgreSQL的TLS加密。定期更換數據庫密碼。
  • Runner安全:使用Parallels執行器(虛擬機隔離)。避免使用 --privileged 標記運行容器。
  • 審計日志:啟用GitLab的審計日志功能,記錄所有操作行為。

以上步驟是在Linux系統上部署GitLab的基本流程,具體操作可能會因Linux發行版和具體需求有所不同。在部署前,請確保你的服務器滿足GitLab的系統要求,并參考GitLab的官方文檔進行詳細配置。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女