概念:
- CI/CD:持續集成/持續部署,簡單來說就是將發佈-測試-部署自動化,統一、規範開發流程。是敏捷開發理念、微服務架構的重要的一環。
- Gitlab:
- 網址:https://gitlab.com
- 簡介:與Github類似,是一個git倉庫託管網站。可以免費私有化倉庫。並對倉庫、分支可以進行用戶權限管理。也支持私有化部署。
- Runner:
- 安裝文檔:https://docs.gitlab.com/runner/install/
- 簡介:Gitlab用來實際執行各類指令的程序。Gitlab倉庫settings -> CI/CD -> Runner標籤中配置。
- .gitlab-ci.yml:
- 官方文檔:https://docs.gitlab.com/ee/ci/yaml/README.html
- 簡介:定義了Runner實際執行的指令。
簡要流程
git提交之後,runner在runner目錄中git checkout,根據配置的yml文件執行指定的腳本命令進行編譯等等操作。
YML文件示例
stages:
- build
- test
- deploy
job1:
stage: deploy
script: cp ./* /home/confs/
tags:
- common deploy
解釋:
- tags指定了使用哪一個runner執行job1任務。
- stages是自定義的流程,多個job會依次根據stages的順序執行。
- 實際流程相當於:提交後 -> Runner目錄中自動pull後 -> 將全部內容cp至實際項目目錄。
注意事項
runner安裝完成、啓動之後,所屬用戶與用戶組爲gitlab-runner,因此不論是執行linux命令操作、git操作、docker操作等等,需要注意目標目錄、程序等權限!
本篇文章由一文多發平臺ArtiPub自動發佈