在查閱GitLab官網的CI/CD功能說明時,全是英文看起來不方便,經過翻譯軟件自動翻譯後「內容失真」,看起來很變扭。查閱了百度上的資料發現不少翻譯很老舊,有些甚至是掛羊頭賣狗肉。痛定思痛,決定本身翻譯分享出來。html
下面是第一篇翻譯,若有不對的地方請指正。git
翻譯源文件:緩存
https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.htmlruby
正文:gitlab
在使用GitLab CI / CD以前,您須要先具有下面2個條件:測試
.gitlab-ci.yml的CI/CD的配置文件。
在.gitlab-ci.yml
文件中,能夠作下面定義:ui
script要被劃分在相應的job中,各個job組成了一個很大的pipeline。你能夠將多個獨立的job組織在一個按定義順序運行的stages中。spa
你應該合理的組織job順序,該順序應該與你實際的測試流程一致。爲了可視化該過程,假設添加到做業中的腳本與你在電腦上運行的CLI命令相同。翻譯
當.gitlab-ci.yml
文件添加到倉庫根目錄裏時,GitLab會自動檢測到它,而後GitLab Runner程序會自動運行.gitlab-ci.yml中定義的每一個job。3d
示例:一個.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-job一、test-code-job2。
該示例中的完整pipeline由3個job組成,分爲兩個stages:build
和test
。代碼倉庫裏的任何分支下的任何文件的修改都會觸發pipeline的自動運行。
GitLab CI / CD不只能夠執行做業,還會向你顯示執行期間發生的狀況,相似下面的截圖:
你能夠爲代碼程序建立構建策略,GitLab會根據你定義的內容運行pipeline。你的pipeline狀態也會經過GitLab展現:
若是有任何問題,能夠 回滾更改:
下一篇翻譯敬請期待~