GitLab CI/CD持續設置
官方文檔地址(https://docs.gitlab.com/ee/ci/README.html)
GitLab CI、CD功能非常完善,只需要簡單幾步,就可以完成項目的持續集成和部署。
你需要准備的是:
1、 准備一個可以執行測試的服務器
2、 注冊gitlab-ci-runner到項目
3、 配置CI執行策略,tag觸發,還是每個commit都執行
4、 編寫.gitlab-ci.yml文件,編寫需要自動執行不命令即可
然后提交一個commit嘗試下,如果沒有問題,會看到pipeline中有任務在執行
Jobs中有每個階段的任務執行,點擊可以看到執行的詳細信息,有對應的信息打印。
1. 編寫.gitlab-ci.yml文件
對於項目的持續集成,要做哪些動作,該如何定義這動作,yml文件的編寫語法,參見官方文檔(https://docs.gitlab.com/ee/ci/yaml/README.html)。
.gitlab-ci.yml文件放在項目的根目錄下,代碼提交后,CI會自動根據文件定義的動作來執行。
並在在gitlab的項目的頁面,開發.gitlab-ci.yml文件,會出現This GitLab CI configuration is valid. Learn more這樣的提示,說明yml文件沒有語法錯誤,如果有錯誤,則根據提示修改。
2. 准備執行服務器
Gitlab runner支持多種類型的服務器,這里我們使用Centos平台。
下載最新的gitlab-runner的軟件,x86-64的版本下載地址為(https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64)。
為了操作方便,把文件名修改為gitlab-runner。
賦予文件的可執行權限:chmod a+x gitlab-runner
下載后,復制文件到runner運行服務器。
3. 注冊執行服務器
打開gitlab的項目setting->CI/CD-Runners settings頁面,會看到
gitlab runner配置需要的信息,包括url地址,以及token信息。
這里有兩個關鍵信息:一個gitlab的服務器http地址,另外是注冊runner的token。
注冊runner服務器,
1、 執行./gitlab-runner regsiter,根據提示輸入http地址,token注冊runner,沒有異常則會提示注冊成功。
2、 使用./gitlab-runner status查看狀態,如果沒有running,則使用./gitlab-runner start來啟動runner
3、 在web頁面查看runner,正常可以看到剛才注冊的runner。
這里的runner類型選擇:Docker
4. 簡單的demo
上面的設置完成后,提交一個commit觸發CI。
這里我們的Demo的腳本如下:
image: your-project:latest test: script: - echo “test” - cd tests - python test.py
這個腳本非常簡單,拉取項目的最新鏡像,打印test,然后到tests文件下執行test.py文件
從這里可以看出,yaml的語法和shell非常類似。
5. 執行結果展示
在CI/CD->pipeline可以看到每次提交CI的執行情況,點擊status可以看到pipeline的執行詳細信息。
Pipeline執行成功,則會顯示為綠色的pass。