溫馨提示×

Linux GitLab如何實現自動化部署

小樊
99
2025-04-15 18:16:12
欄目: 智能運維

在Linux上通過GitLab實現自動化部署,主要依賴于GitLab CI/CD(持續集成/持續部署)功能。以下是詳細的步驟和說明:

1. 安裝GitLab Runner

首先,需要在Linux服務器上安裝GitLab Runner。以下是安裝步驟:

  • CentOS
    1. 更新包列表:
      sudo yum update
      
    2. 安裝依賴包:
      sudo yum install -y curl policycoreutils-python openssh-server
      
    3. 安裝Postfix郵件服務器(用于郵件通知):
      sudo yum install postfix
      sudo systemctl enable postfix
      sudo systemctl start postfix
      
    4. 添加GitLab包倉庫:
      curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
      
    5. 安裝GitLab CE:
      sudo yum install -y gitlab-ce
      
    6. 自動配置GitLab:
      sudo gitlab-ctl reconfigure
      
    7. 啟動GitLab服務:
      sudo gitlab-ctl start
      
    8. 注冊GitLab Runner:
      curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
      sudo yum install gitlab-runner
      
      安裝完成后,需要將Runner的信息注冊到GitLab中:
      sudo gitlab-runner register
      

2. 配置.gitlab-ci.yml文件

在項目根目錄下創建或編輯.gitlab-ci.yml文件,定義自動化部署的流程。以下是一個簡單的示例:

stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - mvn clean package

test_job:
  stage: test
  script:
    - mvn test

deploy_job:
  stage: deploy
  script:
    - scp target/*.jar user@your_server:/path/to/deploy
  only:
    - master

3. 配置免密登錄

為了方便GitLab Runner通過SSH連接到目標服務器,需要配置免密登錄:

  • 在GitLab Runner服務器上生成SSH密鑰對:
    ssh-keygen
    
  • 將公鑰復制到目標服務器:
    ssh-copy-id user@your_server
    
  • 將公鑰添加到GitLab Runner的authorized_keys文件中:
    cat ~/.ssh/id_rsa.pub | ssh user@your_server "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
    

4. 提交代碼觸發自動化部署

當在GitLab倉庫中提交代碼或合并請求時,GitLab CI/CD會自動觸發Pipeline,按照.gitlab-ci.yml文件中定義的流程執行構建、測試和部署任務。

5. 注意事項

  • 確保防火墻允許GitLab使用的端口(默認是80和443)。
  • 在目標服務器上配置好Maven和JDK的環境變量。
  • 根據實際需求調整.gitlab-ci.yml文件中的配置。

通過以上步驟,你可以在Linux上通過GitLab實現自動化部署,大大提高開發和部署效率。

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