官網GitLab CI/CD英文文檔翻譯

在查閱GitLab官網的CI/CD功能說明時,全是英文看起來不方便,通過翻譯軟體自動翻譯後「內容失真」,看起來很變扭。查閱了百度上的資料發現很多翻譯很老舊,有些甚至是掛羊頭賣狗肉。痛定思痛,決定自己翻譯分享出來。

下面是第一篇翻譯,如有不對的地方請指正。

翻譯源文件:

//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:buildtest。程式碼倉庫里的任何分支下的任何文件的修改都會觸發pipeline的自動運行。

GitLab CI / CD不僅可以執行作業,還會向你顯示執行期間發生的情況,類似下面的截圖:

 

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

 

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

 

 查看.gitlab-ci.yml文件的完整語法

 

下一篇翻譯敬請期待~