在Linux上搭建GitLab的持續集成環境涉及幾個主要步驟,包括安裝GitLab、配置GitLab、設置持續集成(CI)以及創建和運行CI/CD流水線。以下是詳細的步驟指南:
sudo apt update
sudo apt upgrade
sudo apt install -y curl openssh-server ca-certificates tzdata perl
sudo apt install -y postgresql postgresql-contrib libpq-dev
sudo -u postgres createuser gitlab --createdb
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt install -y gitlab-ce
sudo yum update
sudo yum install -y curl policycoreutils-python openssh-server perl
sudo yum install -y postgresql postgresql-contrib
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce
/etc/gitlab/gitlab.rb
文件,設置 external_url
為你的服務器IP地址或域名。sudo nano /etc/gitlab/gitlab.rb
修改如下行:
external_url 'http://your_server_ip'
保存并退出。
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
注冊Runner:
sudo gitlab-runner register --url http://gitlab地址:端口/ --registration-token HjymWn4gEzHaVizpvG
啟動并啟用Runner服務:
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runners
sudo gitlab-runner start
.gitlab-ci.yml
文件:
在你的項目根目錄下創建一個名為 .gitlab-ci.yml
的文件,該文件定義了CI/CD Pipeline的工作流程和任務。stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building your application here..."
test_job1:
stage: test
script:
- echo "This job tests something"
test_job2:
stage: test
script:
- echo "This job tests something, but takes more time than test_job1."
- echo "After the echo commands complete, it runs the sleep command for 20 seconds"
- sleep 20
deploy_job:
stage: deploy
script:
- echo "Deploying your application here..."
配置GitLab項目: 在GitLab項目中打開“Settings”頁面,找到“CI/CD”選項,并配置Runner以及其他相關設置。
提交代碼并觸發CI/CD Pipeline: 將代碼提交到GitLab倉庫,并在GitLab界面上手動觸發CI/CD Pipeline,或者配置Webhooks來自動觸發Pipeline。
查看CI/CD Pipeline執行結果: 在GitLab界面上可以查看CI/CD Pipeline的執行結果,包括構建日志、測試結果等信息。
.gitlab-ci.yml
文件中,你可以定義變量和緩存,以便在構建過程中使用。通過以上步驟,你就可以在Linux上使用GitLab進行基本的持續集成了。根據你的項目需求,你可以進一步自定義 .gitlab-ci.yml
文件,添加更多的階段和任務。