設定管線時,您可以新增管線針對所需動作執行的特定工作類型。每個工作類型均與另一個應用程式整合,並且在建置、測試和交付應用程式時啟用管線。
若要執行管線,無論您必須從存放庫提取構件以進行部署、執行遠端指令碼,還是需要團隊成員對使用者作業進行核准, Code Stream 都具有適當的工作類型供您選取!
Code Stream 支援取消各種類型工作上的管線執行。在管線執行上按一下取消時,工作、階段或整個管線將進入取消狀態並取消管線執行。
- Jenkins
- SSH
- PowerShell
- 使用者作業
- 管線
- 雲端範本
- vRO
- 輪詢
Code Stream 不會將取消行為散佈到這些工作的第三方系統:CI、自訂整合或 Kubernetes。 Code Stream 將工作標記為已取消並立即停止擷取狀態,而不會等待工作完成。按一下取消時,工作可能會在第三方系統上完成或失敗,但會在 Code Stream 中立即停止執行。
在管線中使用工作之前,請確認對應的端點可用。
工作類型 | 執行的作業 | 範例和詳細資料 |
---|---|---|
使用者作業 | 使用者作業工作會啟用所需的核准,以控制何時執行管線以及何時必須等待核准。 |
|
條件 | 新增決定點,以根據條件運算式確定繼續執行或停止管線。條件為 true 時,管線執行連續工作。條件為 false 時,管線將停止。 |
工作類型 | 執行的作業 | 範例和詳細資料 |
---|---|---|
雲端範本 | 從 GitHub 部署自動執行雲端範本,並佈建應用程式,針對您的部署自動執行該雲端範本的持續整合和持續交付 (CICD)。 |
請參閱如何在 Code Stream 中自動發行從 YAML 雲端範本部署的應用程式。 依序選取建立或更新、雲端範本和版本後,雲端範本參數隨即出現。您可以將可容納變數繫結的這些元素新增至雲端範本工作中的輸入文字區域:
當您在輸入中使用變數繫結時,請注意這些例外狀況。對於列舉,您必須從固定集中選取一個列舉值。對於布林值,您必須在輸入文字區域中輸入值。 當 Cloud Assembly 中的雲端範本包含輸入變數時,雲端範本參數會出現在雲端範本工作中。例如,如果雲端範本具有輸入類型 |
CI | 透過從登錄端點提取 Docker 建置映像並將其部署至 Kubernetes 叢集,CI 工作能夠將代碼持續整合到管線中。 CI 工作將記錄的 100 行顯示為輸出,在下載記錄時顯示 500 行。 CI 工作需要暫時連接埠 32768 到 61000。 |
|
自訂 | 自訂工作將 Code Stream 與您自己的建置工具、測試工具和部署工具整合。 |
|
Kubernetes | 自動將軟體應用程式部署至 Kubernetes 叢集。 |
|
管線 | 將管線嵌套於主要管線中。嵌套管線後,此管線將作為主要管線中的工作。 在主要管線的 [工作] 索引標籤上,您可以透過按一下巢狀管線的連結輕鬆導覽至該管線。巢狀管線將在新的瀏覽器索引標籤中開啟。 |
若要在執行中尋找巢狀管線,請在搜尋區域中輸入 nested。 |
工作類型... | 它執行的作業... | 範例和詳細資料... |
---|---|---|
Bamboo | 與 Bamboo 持續整合 (CI) 伺服器互動,該伺服器持續建置、測試和整合軟體,為部署準備就緒,並在開發人員認可變更時觸發程式碼建置。它會公開 Bamboo 建置產生的構件位置,讓工作可輸出用於建置和部署的其他工作的參數。 |
連線至 Bamboo 伺服器端點,並從管線啟動 Bamboo 建置計劃。 |
Jenkins | 觸發建置和測試原始程式碼的 Jenkins 工作,執行測試案例,並且可以使用自訂指令碼。 |
|
TFS | 允許您將管線連線至 Team Foundation Server,以便管理和叫用建置專案,包括可建置和測試程式碼的已設定工作。 |
如需 Code Stream 支援的 Team Foundation Server 版本,請參閱 什麼是 Code Stream 中的端點。 |
vRO | 透過在 vRealize Orchestrator 中執行預先定義的工作流程或自訂工作流程,來延伸 Code Stream 的功能。 Code Stream 支援 vRealize Orchestrator 的基本驗證和以 Token 為基礎的驗證。 Code Stream 使用 API Token 對 vRealize Orchestrator 叢集進行驗證。透過以 Token 為基礎的驗證, Code Stream 支援使用雲端擴充性 Proxy 的 vRealize Orchestrator 端點。因此,在 Code Stream 中,您可以透過使用雲端擴充性 Proxy 的 vRealize Orchestrator 端點觸發工作流程。 |
工作類型... | 它執行的作業... | 範例和詳細資料... |
---|---|---|
REST | 將 Code Stream 與其他使用 REST API 的應用程式整合,可讓您持續開發和交付彼此互動的軟體應用程式。 |
|
輪詢 | 叫用 REST API,並對其進行輪詢,直到管線工作滿足結束準則並完成為止。 Code Stream 管理員最多可以將輪詢計數設定為 10000。輪詢時間間隔必須大於或等於 60 秒。 選取失敗時繼續核取方塊時,如果計數或時間間隔超過這些值,輪詢工作將繼續執行。
|
工作類型 | 執行的作業 | 範例和詳細資料 |
---|---|---|
PowerShell | 透過 PowerShell 工作, Code Stream 可以在遠端主機上執行指令碼命令。例如,指令碼可以自動執行測試工作,並執行管理類型的命令。 指令碼可以是遠端指令碼,也可以是使用者定義的指令碼。它可以透過 HTTP 或 HTTPS 進行連線,並且可以使用 TLS。 Windows 主機必須已設定 winrm 服務,並且 winrm 必須已設定 MaxShellsPerUser 和 MaxMemoryPerShellMB。 若要執行 PowerShell 工作,您必須具有與遠端 Windows 主機的作用中工作階段。 PowerShell 命令列長度 如果輸入 base64 PowerShell 命令,請務必計算整體命令長度。 Code Stream 管線會對 base64 PowerShell 命令進行編碼並包裝在另一個命令中,這會增加命令的整體長度。 PowerShell winrm 命令允許的長度上限為 8192 個位元組。對 PowerShell 工作進行編碼和包裝後,其命令長度限制會降低。因此,您必須先計算命令長度,然後才能輸入 PowerShell 命令。 Code Stream PowerShell 工作的命令長度限制取決於原始命令的 base64 編碼長度。命令長度的計算方式如下。
Code Stream 的命令長度必須小於 8192 的上限。 |
設定 MaxShellsPerUser 和 MaxMemoryPerShellMB 時:
指令碼會將輸出寫入至其他管線可以耗用的回應檔案中。 |
SSH | SSH 工作允許 Bash Shell 指令碼工作在遠端主機上執行指令碼命令。例如,指令碼可以自動執行測試工作,並執行管理類型的命令。 指令碼可以是遠端指令碼,也可以是使用者定義的指令碼。它可以透過 HTTP 或 HTTPS 進行連線,且需要私密金鑰或密碼。 必須在 Linux 主機上設定 SSH 服務,而且 MaxSessions 的 SSHD 組態必須設定為 50。 如果同時執行多個 SSH 工作,請增加 SSH 主機上的
SSH 工作不支援 OpenSSH 類型的私密金鑰。使用以下方法之一產生公開金鑰/私密金鑰配對:
備註: 確認產生的金鑰不顯示
BEGIN OPENSSH PRIVATE KEY。
如果產生的公開金鑰是遠端機器中的授權金鑰,請參閱以下文章之一,變更 OpenSSH 私有格式:
設定 SSH 工作時,必須以純文字形式輸入私密金鑰。將金鑰儲存為變數或輸入會變更金鑰格式,並且管線工作將無法執行。 |
指令碼可以是遠端指令碼,也可以是使用者定義的指令碼。例如,指令碼可能類似於: message="Hello World" echo $message 指令碼會將輸出寫入至其他管線可以耗用的回應檔案中。 |