繫結管線工作表示在管線執行時建立了工作的相依性。您可以透過多種方式建立管線工作的繫結。您可以將某個工作繫結到其他工作,將其繫結到變數和運算式,或將其繫結到一個條件。

如何在雲端範本工作中將貨幣繫結套用至雲端範本變數

您可以在 Code Stream 管線雲端範本工作中將貨幣繫結套用至雲端範本變數。在 Code Stream 中修改變數的方式,取決於雲端範本中變數內容的編碼。

如果必須在雲端範本工作中使用貨幣繫結,但在雲端範本工作中使用的目前雲端範本版本不允許使用,請在 Cloud Assembly 中修改雲端範本並部署新版本。然後,在雲端範本工作中使用新雲端範本版本,並在需要時新增貨幣繫結。

若要在 Cloud Assembly 雲端範本提供的內容類型上套用貨幣繫結,您必須擁有正確的權限。

  • 您必須與在 Cloud Assembly 中建立雲端範本部署的人員具有相同的角色。
  • 管線建模人員和管線執行人員可能是兩個不同的使用者,並且可能具有不同的角色。
  • 如果開發人員具有 Code Stream 執行者角色並對管線進行建模,則開發人員還必須具有雲端範本部署人員的相同 Cloud Assembly 角色。例如,必要的角色可能為 Cloud Assembly 管理員。
  • 只有管線建模人員才能建立管線和建立部署,因為他們具有權限。

在雲端範本工作中使用 API Token:

  • 管線建模人員可以將 API Token 提供給具有 Code Stream 執行者角色的其他使用者。然後,當執行者執行管線時,將會使用 API Token 和 API Token 建立的認證。
  • 當使用者在雲端範本工作中輸入 API Token 時,將會建立管線所需的認證。
  • 若要加密 API Token 值,請按一下建立變數
  • 如果您沒有為 API Token 建立變數,並在雲端範本工作中使用,則 API Token 值會以純文字形式顯示。

若要在雲端範本工作中將貨幣繫結套用至雲端範本變數,請執行下列步驟。

從已定義輸入變數內容的雲端範本開始,例如 integerVarstringVarflavorVarBooleanVarobjectVararrayVar。您可以找到在 resources 區段中定義的映像內容。雲端範本代碼中的內容可能類似於:

formatVersion: 1
inputs:
  integerVar:
    type: integer
    encrypted: false
    default: 1
  stringVar:
    type: string
    encrypted: false
    default: bkix
  flavorVar:
    type: string
    encrypted: false
    default: medium
  BooleanVar:
    type: boolean
    encrypted: false
    default: true
  objectVar:
    type: object
    encrypted: false
    default:
      bkix2: bkix2
  arrayVar:
    type: array
    encrypted: false
    default:
      - '1'
      - '2'
resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      image: ubuntu
      flavor: micro
      count: '${input.integerVar}'

您可以將貨幣符號變數 ($) 用於 imageflavor。例如:

resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      input: '${input.image}'
      flavor: '${input.flavor}'

若要在 Code Stream 管線中使用雲端範本並向其新增貨幣繫結,請依照下列步驟進行操作。

  1. Code Stream 中,按一下管線 > 空白畫布
  2. 雲端範本工作新增至管線。
  3. 在雲端範本工作中,針對雲端範本來源選取 Cloud Assembly 雲端範本,輸入雲端範本名稱,然後選取雲端範本版本。
  4. 請注意,您可以輸入為管線提供認證的 API Token。若要建立在雲端範本工作中加密 API Token 的變數,請按一下建立變數
  5. 在顯示的參數和值資料表中,請注意參數值。flavor 的預設值為 smallimage 的預設值為 ubuntu
  6. 假設您必須在 Cloud Assembly 中變更雲端範本。例如:
    1. flavor 進行設定,使其使用 array 類型的內容。當類型為 array 時,Cloud Assembly 允許對 Flavor 使用逗號分隔值。
    2. 按一下部署
    3. 在 [部署類型] 頁面上,輸入部署名稱,然後選取雲端範本的版本。
    4. 在 [部署輸入] 頁面上,您可以為 Flavor 定義一或多個值。
    5. 請注意,部署輸入包括在雲端範本代碼中定義的所有變數,並且會在雲端範本代碼中顯示為已定義。例如:Integer VarString VarFlavor VarBoolean VarObject VarArray VarString VarFlavor Var 為字串值,而 Boolean Var 為核取方塊。
    6. 按一下部署
  7. Code Stream 中,選取新版本的雲端範本,然後在參數和值資料表中輸入值。雲端範本支援下列類型的參數,這些參數可使用貨幣符號變數啟用 Code Stream 繫結。Code Stream 雲端範本工作的使用者介面與 Cloud Assembly 雲端範本的使用者介面之間稍有差異。根據 Cloud Assembly 中雲端範本的編碼,可能不允許在 Code Stream 的雲端範本工作中輸入值。
    1. 對於 flavorVar,如果雲端範本已將類型定義為字串或陣列,請輸入字串或以逗號分隔的值陣列。範例陣列類似於 test, test
    2. 對於 BooleanVar,請在下拉式功能表中選取 truefalse。或者,若要使用變數繫結,請輸入 $,然後從清單中選取變數繫結。在 BooleanVar 文字區域中輸入貨幣符號來新增繫結變數時,會顯示可用的布林值變數供您選取。
    3. 對於 objectVar,輸入以大括號和引號括住的值,格式如下:{”bkix”:”bkix”:}
    4. objectVar 將傳遞至雲端範本,並且可以多種方式加以使用,具體取決於雲端範本。允許對 JSON 物件使用字串格式,您可以在索引鍵-值資料表中以逗號分隔值形式新增索引鍵-值配對。可以為 JSON 物件輸入純文字,也可以輸入索引鍵-值配對作為 JSON 的一般字串化格式。
    5. 對於 arrayVar,輸入以逗號分隔的輸入值作為陣列,格式如下:[”1”,”2”]
  8. 在管線中,您可以將輸入參數繫結至陣列。
    1. 按一下輸入索引標籤。
    2. 輸入輸入的名稱。例如,arrayInput
    3. 參數和值資料表中,按一下 arrayVar,然後輸入 ${input.arrayInput}
    4. 儲存管線並將其啟用後,必須在管線執行時提供陣列輸入值。例如,輸入 [”1”,”2”],然後按一下執行

現在,您已瞭解如何在 Code Stream 管線雲端範本工作的雲端範本中使用貨幣符號 ($) 變數繫結。

如何在管線執行時將參數傳遞到管線

您可以將輸入參數新增至管線,讓 Code Stream 將其傳遞到管線。然後,當管線執行時,使用者必須輸入輸入參數的值。將輸出參數新增至管線時,管線工作可以使用工作的輸出值。Code Stream 支援以多種方式使用參數,以支援您自己的管線需求。

例如,若要在包含 REST 工作的管線執行時提示使用者輸入其 Git 伺服器的 URL,您可以將 REST 工作繫結至 Git 伺服器 URL。

若要建立變數繫結,請將 URL 繫結變數新增至 REST 工作。當管線執行並到達 REST 工作時,使用者必須輸入其 Git 伺服器的 URL。以下是建立繫結的方式:

  1. 在您的管線中,按一下輸入索引標籤。
  2. 若要設定參數,請針對自動插入參數按一下 Git

    此時會顯示 Git 參數的清單,並包含 GIT_SERVER_URL。如果必須使用 Git 伺服器 URL 的預設值,請編輯此參數。

  3. 按一下模型,然後按一下 REST 工作。
  4. 工作索引標籤的 URL 區域中,輸入 $,然後選取輸入GIT_SERVER_URL

    在 URL 文字區域中輸入貨幣符號來新增繫結變數並選取輸入時,會顯示可用的 Git 輸入參數供您選取。

    此項目類似於:${input.GIT_SERVER_URL}

  5. 若要確認工作的變數繫結完整性,請按一下驗證工作

    Code Stream 指示工作已成功驗證。

  6. 當管線執行 REST 工作時,使用者必須輸入 Git 伺服器的 URL。否則,此工作無法完成執行。

如何建立輸入和輸出參數以繫結兩個管線工作

將工作繫結在一起時,請將繫結變數新增至接收工作的輸入組態中。然後,當管線執行時,使用者將繫結變數取代為所需的輸入。

若要將管線工作繫結在一起,請在輸入參數和輸出參數中使用貨幣符號變數 ($)。此範例顯示了操作方法。

假設您需要管線來呼叫 REST 工作中的 URL,並輸出回應。若要呼叫 URL 並輸出回應,則需要在 REST 工作中同時包含輸入和輸出參數。同時,還需要可以核准工作的使用者,並為可以在管線執行時進行核准的其他使用者包括使用者作業工作。此範例顯示如何在輸入和輸出參數中使用運算式,並讓管線等待核准工作。

  1. 在您的管線中,按一下輸入索引標籤。

    管線上的輸入索引標籤顯示了 Gerrit、Git 和 Docker 輸入參數的選取項目,並列出了每個選取項目的可用參數。

  2. 保留自動插入參數
  3. 按一下新增,輸入參數名稱、值和說明,然後按一下確定。例如:
    1. 輸入 URL 名稱。
    2. 輸入值:{Stage0.Task3.input.http://www.docs.vmware.com}
    3. 輸入說明。
  4. 按一下輸出索引標籤,按一下新增,然後輸入輸出參數名稱和對應。

    在管線上的輸出索引標籤中,您可以新增輸出參數,然後從顯示的清單中選取 REST 回應參數。

    1. 輸入唯一的輸出參數名稱。
    2. 按一下參考區域,然後輸入 $
    3. 在彈出時選取選項,以輸入工作輸出對應。依序選取 Stage0Task3輸出responseCode。然後,按一下確定

      新增輸出參數後,輸出索引標籤會顯示新增參數的名稱及其在管線階段和工作中的參考。

  5. 儲存管線。
  6. 動作功能表中,按一下執行
  7. 按一下動作 > 檢視執行
  8. 按一下管線執行,然後檢查已定義的輸入參數和輸出參數。

    管線執行會顯示 URL 輸入參數與輸入的 URL,以及包含所選回應代碼的回應輸出參數。

  9. 若要核准管線,請按一下使用者作業,然後在作用中項目索引標籤上檢視核准清單。或者,保留在 [執行] 中,按一下工作,然後按一下核准
  10. 若要啟用核准拒絕按鈕,請按一下執行旁邊的核取方塊。
  11. 若要查看詳細資料,請展開下拉式箭頭。
  12. 若要核准工作,請按一下核准,輸入原因,然後按一下確定

    有關使用者作業的詳細資料顯示了核准請求者、請求時間、所需核准者,以及核准的到期時間。

  13. 按一下執行並監視管線繼續執行。

    核准使用者作業後,管線會繼續,並且管線執行的狀態指示為 [RUNNING]。

  14. 如果管線失敗,請更正任何錯誤,然後儲存管線並再次執行。

    管線完成後,管線執行的狀態指示為 [COMPLETED]。

如何進一步瞭解變數和運算式

若要查看有關在繫結管線工作時使用變數和運算式的詳細資料,請參閱在 Code Stream 中繫結管線工作時可以使用哪些變數和運算式

若要瞭解如何將管線工作輸出與條件變數繫結搭配使用,請參閱如何在 Code Stream 中使用 [條件] 工作中的變數繫結來執行或停止管線