在查閱GitLab官網的CI/CD功能說明時,全是英文看起來不方便,通過翻譯軟體自動翻譯后“內容失真”,看起來很變扭,查閱了百度上的資料發現很多翻譯很老舊,有些甚至是掛羊頭賣狗肉,痛定思痛,決定自己翻譯分享出來,
下面是第一篇翻譯,如有不對的地方請指正,
翻譯源檔案:
https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.html
正文:
.gitlab-ci.yml檔案
在使用GitLab CI / CD之前,您需要先具備下面2個條件:
- 一個托管在Git存盤庫中的應用程式代碼庫;
- 在該倉庫根目錄下創建一個叫
.gitlab-ci.yml的CI/CD的組態檔,
在.gitlab-ci.yml檔案中,可以做下面定義:
- 需要運行的腳本;
- 需要參考的其他組態檔和模板;
- 依賴關系和快取;
- 串行與并行的運行命令;
- 程式可以部署到哪個環境;
- 關鍵環節是依然自動化運行還是需要手動觸發繼續運行,
script要被劃分在相應的job中,各個job組成了一個很大的pipeline,你可以將多個獨立的job組織在一個按定義順序運行的stages中,
你應該合理的組織job順序,該順序應該與你實際的測驗流程一致,為了可視化該程序,假設添加到作業中的腳本與你在電腦上運行的CLI命令相同,
當.gitlab-ci.yml檔案添加到倉庫根目錄里時,GitLab會自動檢測到它,然后GitLab Runner程式會自動運行.gitlab-ci.yml中定義的每個job,
示例:一個.gitlab-ci.yml檔案可能包含下面內容:
stages: - build - test build-code-job: stage: build script: - echo "Check the ruby version, then build some Ruby project files:" - ruby -v - rake test-code-job1: stage: test script: - echo "If the files are built successfully, test some files with one command:" - rake test1 test-code-job2: stage: test script: - echo "If the files are built successfully, test other files with a different command:" - rake test2
上面例子中,定義在stages中的build stage會先運行,本例中的build stage只有1個:build-code-job,該job的script塊中定義了3個腳本:首先列印一些構建提示資訊,然后輸出Ruby版本,最后運行rake命令構建專案檔案,如果build-code-job成功運行了,則會同時運行stages中的所有test stage,本例中的test stage有2個,job名稱分別叫test-code-job1、test-code-job2,
該示例中的完整pipeline由3個job組成,分為兩個stages:build和test,代碼倉庫里的任何分支下的任何檔案的修改都會觸發pipeline的自動運行,
GitLab CI / CD不僅可以執行作業,還會向你顯示執行期間發生的情況,類似下面的截圖:

你可以為代碼程式創建構建策略,GitLab會根據你定義的內容運行pipeline,你的pipeline狀態也會通過GitLab展示:

如果有任何問題,可以 回滾更改:

查看.gitlab-ci.yml檔案的完整語法,
下一篇翻譯敬請期待~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/261992.html
標籤:其他
