自 2025 年 11 月 7 日起,Amazon CodeCatalyst 將不再向新客戶開放。如果您想要使用 服務,請在 2025 年 11 月 7 日之前註冊。如需詳細資訊,請參閱如何從 CodeCatalyst 遷移。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將觸發新增至工作流程
使用下列指示,將推送、提取或排程觸發新增至 Amazon CodeCatalyst 工作流程。
關於觸發條件的詳細資訊,請參閱 使用觸發程序自動啟動工作流程執行。
- Visual
- 
                    新增觸發條件 (視覺化編輯器)- 開啟 CodeCatalyst 主控台,網址為 https://https://codecatalyst.aws/ - 。 
- 
                            選擇您的專案。 
-  在導覽窗格中,選擇 CI/CD,然後選擇工作流程。 
- 
                            選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選,或依工作流程名稱或狀態進行篩選。 
- 
                            選擇編輯。 
- 
                            選擇視覺化。 
- 
                            在工作流程圖表中,選擇來源和觸發方塊。 
- 
                            在組態窗格中,選擇新增觸發。 
- 
                            在新增觸發條件對話方塊中,提供欄位中的資訊,如下所示。 觸發類型 指定觸發的類型。您可以使用下列其中一個值: - 
      Push (視覺化編輯器) 或 PUSH(YAML 編輯器)推送觸發會在將變更推送至來源儲存庫時啟動工作流程執行。工作流程執行將使用您推送到的分支中的檔案 (即目的地分支)。 
- 
      提取請求 (視覺化編輯器) 或 PULLREQUEST(YAML 編輯器)提取請求觸發會在來源儲存庫中開啟、更新或關閉提取請求時啟動工作流程執行。工作流程執行將使用您從中提取的分支中的檔案 (也就是來源分支)。 
- 
      排程 (視覺化編輯器) 或 SCHEDULE(YAML 編輯器)排程觸發會根據您指定的 cron 表達式所定義的排程啟動工作流程。系統會使用分支的檔案,針對來源儲存庫中的每個分支啟動個別的工作流程執行。(若要限制觸發啟用的分支,請使用分支欄位 (視覺化編輯器) 或 Branches屬性 (YAML 編輯器)。)設定排程觸發時,請遵循下列準則: - 
          每個工作流程僅使用一個排程觸發。 
- 
          如果您已在 CodeCatalyst 空間中定義多個工作流程,建議您排定不超過 10 個工作流程同時啟動。 
- 
          請確定您在執行之間設定了觸發條件的 Cron 表達式,並具有足夠的時間。如需詳細資訊,請參閱Expression。 
 
- 
          
 如需範例,請參閱 範例:工作流程中的觸發條件。 提取請求的事件 只有在您選取提取請求觸發類型時,才會顯示此欄位。 指定將啟動工作流程執行的提取請求事件類型。以下是有效值: - 
      提取請求已建立 (視覺化編輯器) 或 OPEN(YAML 編輯器)建立提取請求時,會啟動工作流程執行。 
- 
      提取請求已關閉 (視覺化編輯器) 或 CLOSED(YAML 編輯器)關閉提取請求時,工作流程執行會開始。 CLOSED事件的行為很棘手,最好透過範例了解。如需更多資訊,請參閱範例:具有提取、分支和 'CLOSED' 事件的觸發。
- 
      進行新的修訂以提取請求 (視覺化編輯器) 或 REVISION(YAML 編輯器)建立提取請求的修訂時,會啟動工作流程執行。第一個修訂會在建立提取請求時建立。之後,每次有人將新的遞交推送到提取請求中指定的來源分支時,都會建立新的修訂。如果您在提取請求觸發中包含 REVISION事件,您可以省略該OPEN事件,因為REVISION是 的超集OPEN。
 您可以在相同的提取請求觸發中指定多個事件。 如需範例,請參閱 範例:工作流程中的觸發條件。 排程 只有在您選取排程觸發類型時,才會顯示此欄位。 指定 cron 表達式,描述您希望排程工作流程執行的時間。 CodeCatalyst 中的 Cron 表達式使用以下六欄位語法,其中每個欄位以空格分隔: 分鐘小時days-of-month日days-of-weekCron 表達式的範例 分鐘 小時 每月的天數 月 星期幾 年 意義 0 0 ? * MON-FRI * 每週一到週五午夜 (UTC+0) 執行工作流程。 0 2 * * ? * 在每天上午 2:00 (UTC+0) 執行工作流程。 15 22 * * ? * 每天在下午 10:15 (UTC+0) 執行工作流程。 0/30 22-2 ? * SAT-SUN * 每 30 分鐘執行工作流程,週六至週日的開始時間為下午 10:00,隔天為上午 2:00 (UTC+0)。 45 13 L * ? 2023-2027 於 2023 年至 2027 年之間該月最後一天下午 1:45 (UTC+0) 執行工作流程。 在 CodeCatalyst 中指定 cron 表達式時,請務必遵循下列準則: - 
      指定每個 SCHEDULE觸發的單一 Cron 表達式。
- 
      在 YAML 編輯器中以雙引號 ( ") 括住 Cron 表達式。
- 
      以國際標準時間 (UTC) 指定時間。不支援其他時區。 
- 
      在執行之間設定至少 30 分鐘。不支援更快速的節奏。 
- 
      指定 days-of-month或days-of-week欄位,但不能同時指定兩者。如果您在其中一個欄位中指定值或星號 (*),則必須在另一個欄位中使用問號 (?)。星號表示「全部」,問號表示「任何」。
 如需 Cron 表達式的更多範例,以及 ?、*和 等萬用字元的相關資訊L,請參閱《Amazon EventBridge 使用者指南》中的 Cron 表達式參考。EventBridge 和 CodeCatalyst 中的 Cron 表達式的運作方式完全相同。如需排程觸發的範例,請參閱 範例:工作流程中的觸發條件。 分支和分支模式 (選用) 在您的來源儲存庫中指定觸發器監控的分支,以便知道何時開始工作流程執行。您可以使用 regex 模式來定義分支名稱。例如,使用 main.*來比對以 開頭的所有分支main。要指定的分支會根據觸發類型而有所不同: - 
            對於推送觸發,指定您要推送的分支,也就是目的地分支。每個相符分支都會啟動一個工作流程執行,並使用相符分支中的檔案。 範例: main.*,mainline
- 
            對於提取請求觸發,指定您要推送的分支,也就是目的地分支。每個相符分支都會啟動一個工作流程執行,並使用來源分支 (而非相符分支) 中的工作流程定義檔案和來源檔案。 範例: main.*、mainline、v1\-.*(符合開頭為 的分支v1-)
- 
            針對排程觸發,指定包含您希望排程執行使用之檔案的分支。每個相符分支都會啟動一個工作流程執行,並使用相符分支中的工作流程定義檔案和來源檔案。 範例: main.*,version\-1\.0
 注意如果您未指定分支,觸發會監控來源儲存庫中的所有分支,並將使用工作流程定義檔案和來源檔案啟動工作流程執行: - 
                您推送到的分支 (適用於推送觸發)。如需詳細資訊,請參閱範例:簡單的程式碼推送觸發。 
- 
                您要從中提取的分支 (用於提取請求觸發)。如需詳細資訊,請參閱範例:簡易提取請求觸發。 
- 
                所有分支 (用於排程觸發)。您的來源儲存庫中的每個分支都會啟動一個工作流程執行。如需詳細資訊,請參閱範例:簡單的排程觸發。 
 如需分支和觸發程序的詳細資訊,請參閱 觸發和分支的使用準則。 如需更多範例,請參閱範例:工作流程中的觸發條件。 檔案已變更 只有在您選取推送或提取請求觸發類型時,才會顯示此欄位。 指定觸發器監控的來源儲存庫中的檔案或資料夾,以便知道何時開始工作流程執行。您可以使用規則表達式來比對檔案名稱或路徑。 如需範例,請參閱 範例:工作流程中的觸發條件。 
- 
      
- 
                            (選用) 選擇驗證以在遞交之前驗證工作流程的 YAML 程式碼。 
- 
                            選擇遞交,輸入遞交訊息,然後再次選擇遞交。 
 
- YAML
- 
                    新增觸發 (YAML 編輯器)- 開啟 CodeCatalyst 主控台,網址為 https://https://codecatalyst.aws/ - 。 
- 
                            選擇您的專案。 
-  在導覽窗格中,選擇 CI/CD,然後選擇工作流程。 
- 
                            選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選,或依工作流程名稱或狀態進行篩選。 
- 
                            選擇編輯。 
- 
                            選擇 YAML。 
- 
                            使用下列範例做為指南,新增 Triggers區段和基礎屬性。如需詳細資訊,請參閱《Triggers》中的 工作流程 YAML 定義。程式碼推送觸發程序看起來可能如下所示: Triggers: - Type: PUSH Branches: - main提取請求觸發程序可能如下所示: Triggers: - Type: PULLREQUEST Branches: - main.* Events: - OPEN - REVISION - CLOSED排程觸發程序可能如下所示: Triggers: - Type: SCHEDULE Branches: - main.* # Run the workflow at 1:15 am (UTC+0) every Friday until the end of 2023 Expression: "15 1 ? * FRI 2022-2023"如需您可以在 Expression屬性中使用的 Cron 表達式範例,請參閱 Expression。如需推送、提取請求和排程觸發的更多範例,請參閱 範例:工作流程中的觸發條件。 
- 
                            (選用) 選擇驗證以在遞交之前驗證工作流程的 YAML 程式碼。 
- 
                            選擇遞交,輸入遞交訊息,然後再次選擇遞交。