成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用 GitLab CI/CD 觸發多項目管道

開發 架構
在GitLab CI/CD中,在每個項目的.gitlab-ci.yml文件中定義了管道及其組件作業和階段。該文件是項目存儲庫的一部分。它具有完整的版本,開發人員可以使用他們選擇的任何通用IDE對其進行編輯。

持續集成(CI)是在將代碼合并到master分支之前自動進行代碼構建和測試的實踐。這使開發人員可以及早的發現錯誤和頻繁地合并代碼,同時降低了將新錯誤引入主源代碼存儲庫的風險。

代碼運行CI之后,在實時環境中部署和運行測試很重要。從CI過渡到持續交付和部署(CD)是DevOps成熟的下一步。再次部署然后進行測試,可以將一個項目中的代碼與其他組件和服務一起進行測試,而其他組件和服務可以在其他項目中進行管理。

為什么需要驗證代碼關聯的其他組件 ?

一個很好的例子可能是微服務架構。通常,在不同的項目中管理不同的微服務-每個微服務都有自己的存儲庫和管道。不同的團隊負責不同的微服務及其管道配置也很常見。作為開發人員,您將需要確認您的代碼更改不會破壞從屬微服務的功能。因此,除了項目測試之外,您還需要在那些微服務上執行測試。

跨項目管道

在運行項目管道時,您還希望觸發跨項目管道,該管道最終將部署并測試所有相關微服務的最新版本。為了實現此目標,您需要一種簡單,靈活和方便的方式來觸發其他管道,并將其作為項目CI的一部分。通過在CI配置文件中簡單地添加觸發作業,GitLab CI/CD提供了這種運行跨項目管道的簡便方法。

GitLab CI/CD配置文件

在GitLab CI/CD中,在每個項目的.gitlab-ci.yml文件中定義了管道及其組件作業和階段。該文件是項目存儲庫的一部分。它具有完整的版本,開發人員可以使用他們選擇的任何通用IDE對其進行編輯。他們是自助服務,因此不必要求系統管理員或DevOps團隊對管道配置進行更改。該.gitlab-ci.yml文件定義管道的結構和順序,并確定使用GitLab Runner(運行作業的代理)執行哪些操作,以及在遇到特定條件(例如流程成功或失敗)時做出哪些決定。

添加跨項目管道觸發作業

從GitLab 11.8開始,GitLab提供了新的CI/CD配置語法,用于觸發跨項目管道。以下代碼說明了配置bridge作業以觸發下游管道:

//job1 is a job in the upstream project
deploy:
stage: Deploy
script: this is my script

//job2 is a bridge job in the upstream project which triggers cross-project pipeline
Android:
stage: Trigger-cross-projects
trigger: mobile/android

在上面的示例中,一旦部署作業在部署階段成功完成,則將啟動Android作業。該作業的初始狀態為待定。GitLab將在mobile/android項目中創建一個下游管道,一旦創建管道,Android作業將成功。在這種情況下,mobile/android是該項目的完整路徑。

創建上游管道的用戶需要具有對下游項目(在這種情況下為mobile/android)的訪問權限。如果找不到下游項目,或者用戶無權在此處創建管道,則Android作業將被標記為失敗。

從上游管道圖瀏覽到下游

GitLab CI/CD使可視化管道配置成為可能。在下圖中,構建,測試和部署階段是上游項目的一部分。一旦部署作業成功,將并行觸發四個其他項目,您將能夠通過單擊下游作業之一來瀏覽到它們。

圖片

在下圖中,可以看到下游管道。現在,我們可以向左滾動到上游管道,向右滾動回到下游管道,或者選擇另一個下游管道。

圖片

指定下游管道分支

可以指定下游管道將使用的分支名稱:

trigger:
project: mobile/android
branch: stable-11-2

使用project關鍵字指定下游項目的完整路徑。使用branch關鍵字指定分支名稱。在創建下游管道時,GitLab將使用當前在分支的HEAD上的提交。

將變量傳遞到下游管道

有時您可能想將變量傳遞到下游管道。您可以使用variables關鍵字來執行此操作,就像定義常規作業時一樣。

Android:
variable:
ENVIRONMENT: ‘This is the variable value for the downstream pipeline’
stage: Trigger-cross-projects
trigger: mobile/android

ENVIRONMENT變量將傳遞到下游管道中定義的每個作業。當GitLab Runner選擇工作時,它將作為環境變量使用。

該.gitlab-ci.yml文件定義CI/CD階段的順序,要執行的作業以及在什么條件下運行或跳過作業的執行。在trigger該文件中添加帶有關鍵字的"bridge作業" 可用于觸發跨項目管道。我們可以將參數傳遞給下游管道中的作業,甚至可以定義下游管道將使用的分支。

管道可以是具有許多順序和并行作業的復雜結構組成,并且正如我們剛剛了解的那樣,有時它們可以觸發下游管道。為了更容易理解管道(包括其下游管道)的流程,GitLab提供了用于查看管道及其狀態的管道圖。

圖片

責任編輯:姜華 來源: DevOps云學堂
相關推薦

2022-02-22 09:00:00

軟件開發CI/CD 管道工具

2020-12-15 16:13:21

DevSecOpsCICD

2023-01-30 15:55:08

2020-10-21 14:10:28

工具測試開發

2021-01-21 06:06:30

Jenkins分支管道CI

2023-02-19 15:28:39

CI/CD 管道集成開發

2022-05-19 09:00:00

安全CI/CD工具

2021-07-02 16:30:01

CICDDevOps

2023-05-04 16:03:50

KubernetesCI/CD集成

2024-10-12 14:36:34

2023-05-24 16:20:39

DevOpsCI/CD 管道軟件開發

2018-08-24 09:00:00

DevOps持續集成連續部署

2021-08-31 09:00:00

開發Azure DevOp集成

2024-11-06 14:40:18

2021-01-11 09:17:49

GitLabCIMonorepoDocker

2019-07-25 10:31:55

AWSDevOps架構

2021-03-31 09:00:00

管道集成工具

2023-04-27 08:18:25

GitLab開源

2021-09-26 09:26:46

開發安全CICD管道

2021-07-28 13:23:32

CICD管道安全漏洞
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级毛片免费看 | 亚洲一区在线免费观看 | 午夜网址 | 欧美高清视频在线观看 | 午夜二区| 亚洲精品播放 | 国产午夜三级一区二区三 | 黄页网址在线观看 | 亚洲色图插插插 | 亚洲在线视频 | 免费看欧美一级片 | 国产精品69av| 99re视频在线免费观看 | 日韩成人在线看 | 国内成人免费视频 | 国产一级在线 | 亚洲视频三区 | 亚洲一区二区av | 中文字幕一区二区三区四区五区 | 国内精品久久久久久影视8 最新黄色在线观看 | 国产视频一区二区三区四区五区 | 九九热九九 | 天天干.com| 久久中文字幕一区 | 久草久草久草 | 久久偷人 | 成人免费福利 | 免费在线观看成人av | 在线中文字幕视频 | 欧美日韩免费视频 | 精品国产一区二区三区四区在线 | 精品视频在线免费观看 | 在线观看成人免费视频 | 日韩精品一区二区三区中文在线 | 国产99久久精品一区二区永久免费 | 久久综合九色综合欧美狠狠 | 香蕉久久网 | 91精品国产综合久久香蕉922 | 国产欧美三区 | 欧美日韩成人在线观看 | 成av人电影在线 |