在反覆開發雲端範本期間或擁有最終範本時,您可以使範本在 Automation Service Broker 自助服務目錄中可用,以供取用者使用。若要進一步增強使用者體驗,您可以建立自訂請求表單。自訂表單比簡單範本輸入選項更強大。

首要事項

  • 確認您具有支援範本的基礎結構。如果沒有,請從教學課程:在 Automation Assembler 中設定和測試 vSphere 基礎結構和部署開始並繼續其他教學課程。
  • 確認已將部分資源集區標記為 env:devenv:prod。如需詳細資訊,請參閱教學課程:在 Automation Assembler 中使用標籤管理 vSphere 資源
  • 確保您具有以下類似的可部署雲端範本。此教學課程從下列範本開始。
    formatVersion: 1
    inputs:
      installedOS:
        type: string
        title: Operating System
        description: Select the operating system.
        enum:
          - centos
          - ubuntu
      placement:
        type: string
        enum:
          - 'env:dev'
          - 'env:prod'
        default: 'env:dev'
        title: Select Placement for Deployment
        description: Target Environment
    resources:
      Cloud_vSphere_Disk_1:
        type: Cloud.vSphere.Disk
        properties:
          capacityGb: 1
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: '${input.installedOS}'
          installedOS: '${input.installedOS}'
          flavor: small
          constraints:
            - tag: '${input.placement}'
          tags:
            - key: db
              value: mysql
          networks:
            - network: '${resource.Cloud_NSX_Network_1.id}'
              tags:
                - key: db
                  value: mysql
          attachedDisks:
            - source: '${resource.Cloud_vSphere_Disk_1.id}'
      Cloud_NSX_Network_1:
        type: Cloud.NSX.Network
        properties:
          networkType: existing
          tags:
            - key: NGINX
              value: web

步驟 1:將輸入新增至雲端範本

除了現有的作業系統類型輸入,此程序還會更新放置輸入並新增大小輸入。在 Automation Service Broker 中自訂請求表單時,這些是在請求表單上自訂的三個欄位。

  1. Automation Assembler 中,選取設計 > 範本,然後建立或開啟以上提供的範本。

    範例範本可用來解釋不同的選項並包含範例值。根據您的環境進行調整。

  2. 新增大小變數,並在 [輸入] 區段中定義大小。
    1. 在 Cloud_vSphere_Machine_1 區段中,將變數新增至 flavor 內容。
       flavor: '${input.size}'
    2. 在 [輸入] 區段中,新增使用者輸入名稱大小,以便使用者可以選取部署大小。這有時稱為您為雲端區域定義的 T 恤大小。
       size:
          type: string
          title: Deployment size
          description: Select the the deployment t-shirt size.
          enum:
            - small
            - medium
            - large
  3. 使用描述性術語而非標籤字串更新放置輸入。

    這些限制標籤將與您在教學課程:在 Automation Assembler 中使用標籤管理 vSphere 資源中新增的功能標籤相符。

    1. 在 [輸入] 區段中,新增名為 placement 的使用者輸入,以便使用者可以選取開發或生產作為部署放置。

      此範例使用 oneOf 屬性,可讓您在提交部署程序所需字串的同時顯示自然語言標籤。例如,env:devenv:prod 標籤。

       
      placement:
          type: string
          oneOf:
            - title: Development
              const: 'env:dev'
            - title: Production
              const: 'env:prod'
          default: 'env:dev'
          title: Select Deployment Placement
          description: Target Environment
  4. 請檢閱完整 YAML,以確保其類似下列範例。
    formatVersion: 1
    inputs:
      installedOS:
        type: string
        title: Operating system
        description: Select the operating system.
        enum:
          - centos
          - ubuntu
      placement:
        type: string
        oneOf:
          - title: Development
            const: 'env:dev'
          - title: Production
            const: 'env:prod'
        default: 'env:dev'
        title: Select Deployment Placement
        description: Target Environment
      size:
        type: string
        title: Deployment size
        description: Select the the deployment t-shirt size.
        enum:
          - small
          - medium
          - large
    resources:
      Cloud_vSphere_Disk_1:
        type: Cloud.vSphere.Disk
        properties:
          capacityGb: 1
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: '${input.installedOS}'
          installedOS: '${input.installedOS}'
          flavor: '${input.size}'
          constraints:
            - tag: '${input.placement}'
          tags:
            - key: db
              value: mysql
          networks:
            - network: '${resource.Cloud_NSX_Network_1.id}'
              tags:
                - key: db
                  value: mysql
          attachedDisks:
            - source: '${resource.Cloud_vSphere_Disk_1.id}'
      Cloud_NSX_Network_1:
        type: Cloud.NSX.Network
        properties:
          networkType: existing
          tags:
            - key: NGINX
              value: web
  5. 按一下部署,確認請求的第二頁與下列範例類似,然後可以確認部署在部署後是否位於所選開發或生產資源集區。

    部署請求表單的第二頁,其中顯示作業系統類型、部署放置和部署大小的輸入。

步驟 2:對雲端範本進行版本設定和發行

當您擁有可部署範本時,現在可使其在 Automation Service Broker 目錄中可用,以供其他使用者部署。若要使雲端範本可探索以便將其新增至目錄,必須發行此雲端範本。在此程序中,我們將對其進行版本設定以擷取範本快照,然後發行範本。

  1. 選取設計 > 範本,然後在設計畫布中開啟範本。
  2. 按一下版本設定,然後輸入說明。

    [建立版本] 對話方塊,其中具有版本號碼和說明,並已選取 [發行] 核取方塊。
  3. 選取發行核取方塊,然後按一下建立

    發行雲端範本不會自動將其新增至 Automation Service Broker。發行使其可探索,以便可以將其新增至目錄。

步驟 3:將雲端範本新增至 Automation Service Broker 目錄

您可以使用 Automation Service Broker 目錄將雲端範本提供給組織內的其他取用者,他們無需瞭解如何建立範本。他們可透過目錄部署範本。

您必須先將範本匯入至 Automation Service Broker,才能將範本新增為目錄項目。您只能匯入已發行的雲端範本。

  1. 若要從 Automation Assembler 開啟 Automation Service Broker,請按一下左上角的服務下拉式功能表。

    [變更] 功能表提供了可切換到的服務清單。
  2. 按一下 Service Broker
  3. 匯入雲端範本。
    1. Automation Service Broker 中,選取內容和原則 > 內容來源
    2. 按一下新增,然後選取範本
    3. 輸入名稱

      對於本教學課程,輸入 Automation Assembler DevProject

    4. 對於專案,請選取在 Automation Assembler 中建立的 Development Project
    5. 按一下驗證

      系統必須指示至少已找到一個項目。

    6. 驗證後,按一下建立並匯入

      Automation Assembler DevProject 會作為內容來源新增至清單中。

  4. 使雲端範本在目錄中可用。
    1. 選取內容和原則 > 原則 > 定義
    2. 按一下新增原則,然後按一下內容共用原則
    3. 輸入名稱。

      對於本教學課程,輸入 DevProject Policy

    4. 範圍清單中,選取 Development Project
    5. 內容共用區段中,按一下新增項目
    6. 共用項目對話方塊中,選取 Automation Assembler DevProject,然後按一下儲存
    7. 使用者區段中,選取您希望能夠在目錄中查看該項目的專案使用者和群組。
    8. 按一下建立
  5. 若要確認 Development Template 已新增至目錄,請按一下耗用 > 目錄
  6. 按一下 Development Template 卡上的請求

    請注意,此處提供了您在雲端範本上看到的輸入。下一步是自訂請求表單。


    Deployment Template 目錄項目的目錄請求表單。包括部署名稱、作業系統、放置和部署大小選項。

步驟 4:建立範本的自訂表單

此自訂表單的目標是提供使用者根據 env:dev 或 env:prod 標籤選取作業系統和放置的表單。env:dev 選項允許使用者選取小型或中型,大型不是一個選項。但是,如果使用者選取 env:prod,則沒有選取大型的選項,大小會向使用者隱藏,但會包含在請求中。

  1. 若要在 Automation Service Broker 中建立自訂表單,請選取內容和原則 > 內容
  2. 按一下 Development Template 項目左側的垂直省略號,然後按一下自訂表單
  3. 自訂輸入選項。
    1. 在畫布中,按一下畫布中的欄位,然後按照下表指定的方式設定內容。
      畫布欄位名稱 外觀 限制
      作業系統

      標籤和類型

      • 標籤 = 作業系統

      值選項

      • 值選項 = 常數
      • 值來源 = centos|CentOS,ubuntu|Ubuntu

      此範例使用值選項,將所有小寫作業系統名稱自訂為慣用的作業系統名稱。

      選取部署放置

      值選項

      • 值選項 = 常數
      • 值來源 = env:dev|Development,env:prod|Production
      部署大小

      可見度

      • 值來源 = 條件值
      • 如果 [選取部署放置] 為 env:dev,則設定值 = 是

      預設值

      • 值來源 = 條件值
      • 如果 [選取部署] 為 env:prod,則設定值 = 大型

      值選項

      • 值選項 = 常數
      • 值來源 = small|Small,medium|Medium

      請注意,值來源不包含大型。已排除大型,因為它僅適用於生產且為所需值。大型值包含在部署請求中,無需使用者起始動作。

    2. 若要在目錄中開啟表單,請按一下啟用
    3. 按一下儲存
  4. 若要提交至少一個小型開發請求和一個生產請求來確保正確結果,請在目錄中測試表單。

    使用下列範例驗證結果。

    1. 透過提供名稱 (在此範例中為 Test small) 並選取 [CentOS]、[開發] 和 [小型] 選項,測試小型開發請求表單。
      目錄請求表單,使用 Test small 作為部署名稱,並已選取 [開發] 和 [小型]。
    2. 若要驗證小型開發部署,請選取耗用 > 部署 > 部署,然後按一下 Test small 部署。
    3. 在 [拓撲] 索引標籤上,按一下 Cloud_vSphere_Machine,然後在右窗格中找到 [自訂內容] 區段。

      要檢閱的一些值包括 cpuCount = 2 和 flavor = small。


      部署拓撲頁面,其中畫布中反白顯示了 Cloud_vSphere_Machine,右窗格中反白顯示了 cpuCount=2 和 flavor=small。
    4. 透過輸入名稱 (在此範例中為 Test large) 測試生產請求表單,並選取 [CentOS] 和 [生產] 選項。

      請注意,設定的表單既不顯示也不要求使用者選取大小。


      目錄請求表單,其中部署名稱為 Test large,並已選取 [生產]。
    5. 若要驗證生產部署,請選取耗用 > 部署 > 部署,然後按一下 Test large 部署。
    6. 在 [拓撲] 索引標籤上,按一下 Cloud_vSphere_Machine,然後在右窗格中找到 [自訂內容] 區段。

      要檢閱的一些值包括 cpuCount = 8 和 flavor = large。


      部署拓撲頁面,其中畫布中反白顯示了 Cloud_vSphere_Machine,右窗格中反白顯示了 cpuCount=8 和 flavor=large。

步驟 5:控制目錄中的雲端範本版本

大多數情況下,您只想使最新的雲端範本在 Automation Service Broker 目錄中可用。下列程序支援反覆開發,即發行一個版本的範本並將其新增至目錄,但現在您改善了範本並想要將目前版本取代為更新版本。

在步驟 2 中,您已對範本進行版本設定並發行,因此您很熟悉此流程。在步驟 3 中,您已將範本新增至目錄。當您執行反覆開發和使用最新版本更新目錄時,此程序會將兩個步驟結合在一起。

您可以選擇使多個版本在目錄中可用。

  1. Automation Assembler 中,對您現在要使其在目錄中可用的範本進行版本設定。
    1. 選取設計 > 範本,然後在設計畫布中開啟範本。
    2. 按一下版本歷程記錄
    3. 找到想要新增至目錄的版本,然後按一下版本
    4. 輸入說明,選取發行核取方塊,然後按一下建立

      此時,您可以選擇在目錄中保留舊版本。如果想要多個版本,請忽略下一個步驟 - 取消發行版本。

    5. 若要僅使一個版本的範本在目錄中可用,請檢閱版本歷程記錄清單,然後對目錄中不需要的每個版本按一下取消發行
  2. 若要使用最新版本更新 Automation Service Broker 目錄並取代所有舊版本,您必須收集新版本。
    1. Automation Service Broker 中,選取內容和原則 > 內容來源
    2. 按一下本教學課程中使用的 Automation Assembler DevProject 內容來源。
    3. 按一下驗證

      您應會看到一則項目已找到的訊息。

    4. 按一下儲存並匯入
  3. 確認目錄是否顯示所需版本或沒有版本。
    1. Automation Service Broker 中,按一下耗用 > 目錄
    2. 找到目錄項目,然後按一下請求
    3. 在請求表單頂端,按一下版本並確認版本。

    下列螢幕擷取畫面顯示 8。


    具有一個可用版本的新請求表單。