簡介
背景
目前市面上常用的自動化部署的工具比較常見的是Jenkins,但是使用過程中,總會遇到各種奇奇怪怪的錯誤,很難定位問題所在;今天我要介紹的gitlab中的CI/CD功能,個人覺得部署起來更加簡單,有效,易排查,可視化界面也更加整潔~
gitlab-runner
gitlab-runner就是在gitlab倉庫配置了.gitlab-ci.yml文件後,需要到服務器上安裝配置gitlab-runner,並監聽對象倉庫,當項目倉庫發生提交合並操作後,服務器上的runner用戶則會根據配置文件的命令進行對應的執行步驟,最終實現代碼的打包-部署-運行一系列流程。
配置gitlab-runner
- 添加官方gitlab官方倉庫
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
2.安裝
yum install gitlab-runner
3.配置
gitlab-runner register
進入到配置流程後,核心需要配置的是倉庫的地址url和token,還有執行方式executor
其中倉庫地址url和token,可以到gitlab倉庫上的:
Setting ——> CI/CD ——> Runners ;如下圖所示:
4.測試
此時已經配置成功後,可以在gitlab-runner的安裝目錄(默認 /etc/gitlab-runner/config.toml)查看文件配置情況:
並且該runner可在Setting ——> CI/CD ——> Runners 查看並管理。
最後只需要提交代碼測試,可在對應CI/CD中對應步驟點擊查看服務器端的運行情況(附上查看package的運行情況)
gitlab-runner常用命令
//查看所有runner
gitlab-runner list
//刪除runner
gitlab-runner unregister --name <runnerName>
gitlab-runner unregister --url <url> --token <token>
注意點
1、若從gitlab倉庫中刪除了runner,服務器是不會主動更新本地的runner列表的,需要主動拉去更行runner list
gitlab-runner verify --delete
2、 runner運行時,使用的是gitlab-runner用戶,其權限限制在/home/gitlab-runner
若需要使用gitlab-runner運行docker,需要將gitlab-runner加入docker用戶組
//用戶配置docker權限
//首先創建賬號
useradd ${userName}
//修改密碼
passwd ${userName}
//創建docker組
groupadd docker
//將用戶加入docker組
usermod -aG docker ${userName}
//重啓docker服務
systemctl restart docker
//需要切換賬號才能使配置生效
//切換超級管理員用戶
su root
//切換爲當前創建的賬戶
su ${userName}
其他相關文章
-
Gitlab的CI/CD學習(三) —— gitlab-runner