在Linux上通過GitLab實現自動化部署,主要依賴于GitLab CI/CD(持續集成/持續部署)功能。以下是詳細的步驟和說明:
首先,需要在Linux服務器上安裝GitLab Runner。以下是安裝步驟:
sudo yum update
sudo yum install -y curl policycoreutils-python openssh-server
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
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
在項目根目錄下創建或編輯.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
為了方便GitLab Runner通過SSH連接到目標服務器,需要配置免密登錄:
ssh-keygen
ssh-copy-id user@your_server
cat ~/.ssh/id_rsa.pub | ssh user@your_server "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
當在GitLab倉庫中提交代碼或合并請求時,GitLab CI/CD會自動觸發Pipeline,按照.gitlab-ci.yml
文件中定義的流程執行構建、測試和部署任務。
.gitlab-ci.yml
文件中的配置。通過以上步驟,你可以在Linux上通過GitLab實現自動化部署,大大提高開發和部署效率。