gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)
生活随笔
收集整理的這篇文章主要介紹了
gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景
服務和服務器開始多起來了,一個個搞效率太低,所以準備用持續集成來提高效率
原理
gitlab-ci與ci-runner的關系push到gitlab之后,觸發GitLab-CI,GitLab-CI根據注冊信息依次讓GitLab-Runner執行對應的任務
步驟
- Step 0:GitLab-CI是gitlab自帶的,無需額外安裝
- Step 1:安裝GitLab-Runner
- Step 2: 注冊runner,在此之前需要準備token,根據如下的官網提示操作(我這里選擇了shared runner,需要管理員權限)
- 注冊成功后長這樣
- 關于注冊runner的tips:
- 注意 tag可以有多個,各 tag之間用逗號隔開。如果你使用了多個 tag,那么當你想用這個 Runner時,在.gitlab-ci.yml的 tag字段里也必須明確指明這些 tags
- 如果你選擇Docker作為Runner的executor,你還要選擇默認的docker image來運行job(當然,你也可以在.gitlab-ci.yml里指明你需要用的image)
- 注冊完成后你可以在/etc/gitlab-runner里發現config.toml文件,該文件是Runner的配置文件
- Step 3:啟動runner
- 直接啟動:
- 啟動為服務:
user-name就是運行該命令的用戶,必須指定,否者會報如下的錯誤,建議用一個單獨的用戶(比如:gitlab-runner)進行隔離
啟動之后,用service命令check服務運行狀態
- Step 4:配置ci任務
- 任務:將一個thrift服務每次push之后進行自動部署
- 編寫:部署腳本
- 關于如何使用supervisor部署服務,可以參看:
- 編寫.gitlab-ci.yml: 在項目的根目錄下添加.gitlab-ci.yml內容如下:
- push上去之后就會自動執行第一次任務,可以在gitlab的對應項目下的piplines中看到(注意:如果名字寫的不對的話:如寫成了.gitlab-ci.yaml的話是看不到任務的,我因為這個問題找了好久的bug(有的地方說可以用yaml,但是我這里是不可以的))
- Step 5:多臺機器部署
- 方案一:利用上面提到的tag,進行多臺機器的部署,但是這里有個問題是:一旦有bug,所有的機器都會同時掛掉,即便沒有bug,所有機器同時restart也是個問題
- 方案二(推薦):runner只在一臺機器上,其它機器通過ssh命令進行觸發(需要配置免密登錄),該方法還能自己控制替換的步驟(這對于需要灰度的系統非常重要)
參考資料
gitlab-runner官網:https://docs.gitlab.com/runner/
關于runner的跟多細節:https://www.jianshu.com/p/19fe0ce7ecec
總結
以上是生活随笔為你收集整理的gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进口配额管理和出口配额管理_SAP采购管
- 下一篇: 英语发音表及读法_如何一个人练习英语口语