本文介紹流水線源,包括代碼源、制品源、Jenkins源、流水線源三種類型。
流水線源
流水線源是Flow流水線的輸入源頭,可以從文件托管服務或者其他第三方服務中獲取原料,并將這些原料放入到工作區。流水線可以對工作區的原料進行處理,通常處理的目的可以是編譯打包、執行任務、版本制作等,流水線處理輸出的結果可以是軟件的測試報告、壓縮文件、目錄、文檔等。
代碼源
Flow支持將業界通用的代碼倉庫作為流水線的觸發源,在流水線編輯頁面,選擇
,為流水線添加代碼源,支持:自建 Gitlab
碼云
通用Git
Github
Gitlab
Bitbucket
SVN
代碼源可以使用 服務連接 添加用戶名和密碼進行授權。此外,自建Gitlab、Bitbucket、Gitlab、通用Git還可以使用 企業公鑰 授權。拷貝企業SSH公鑰,并添加到Git倉庫的中。以自建Gitlab為例,為了能夠使用企業SSH公鑰同步代碼,需要將企業SSH公鑰綁定到Git倉庫個人賬號上。由于每個公鑰在同一個代碼平臺上僅可配置一次,因此最佳實踐是將企業管理員將SSH公鑰配置到企業公共賬號,Flow通過公共賬號同步代碼。
制品源
Flow支持將業界通用的制品倉庫作為流水線的觸發源,在流水線編輯頁面,選擇
,為流水線添加制品源,支持:云效Packages通用制品:添加Packages服務連接,倉庫類型選擇通用制品(目前僅支持Packages通用制品),選擇倉庫、制品和默認版本。
阿里云ACR鏡像倉庫:添加容器鏡像服務連接,選擇ACR(僅支持企業版ACR鏡像倉庫),選擇region、實例、命名空間、鏡像倉庫、鏡像版本。
Jenkins源
在流水線編輯頁,單擊添加流水線源,在 添加流水線源 彈框中選擇 Jenkins,添加Jenkins服務連接,輸入您的 Jenkins 公網地址、用戶、密碼,完成賬號綁定。
選擇 Jenkins 任務 Job名稱 和 默認版本,即可完成配置。
重要請確保您的 Jenkins 服務配置了公網出口。
Flow流水線源
在實際應用過程中,存在構建環節和部署環節分離的場景。比如,需要對開發環境、測試環境、生產環境分別進行部署,但是每個環境的部署頻率是不同的。如果將多個環境的部署配置在同一條流水線,則會存在多次重復、取消的情況。如果將多個環境配置成多條流水線,則每個環境在部署過程中會出現重復構建的現象。因此,Flow 支持跨流水線制品傳遞(通用制品或鏡像),典型使用場景如下:預發階段從源代碼構建鏡像,預發環境部署驗證通過后,生產階段直接使用預發鏡像發布上線。本場景您可以將預發流水線設置為生產流水線的源,生產流水線可以直接引用預發流水線中的構建產物并執行后續任務。
在流水線(如:生產流水線)編輯頁,點擊 添加流水線源,在 添加流水線源 抽屜中選擇 Flow流水線,選擇 源流水線(如:預發流水線) 和 默認版本。
在流水線(如:生產流水線)環境部署任務,選擇使用源流水線的構建產物(如:預發流水線鏡像產物)直接發起部署。
此外,流水線之間也支持自動觸發,打開 觸發事件 開關,可選擇自動觸發的事件。如源流水線運行成功自動觸發目標流水線運行。