使用 Azure DevOps 持續部署
重要
自定義命令將於 2026 年 4 月 30 日淘汰。 自 2023 年 10 月 30 日起,您無法在 Speech Studio 中建立新的自定義命令應用程式。 與此變更相關, LUIS 將於 2025 年 10 月 1 日淘汰。 自 2023 年 4 月 1 日起,您無法建立新的 LUIS 資源。
在本文中,您將瞭解如何為自定義命令應用程式設定持續部署。 支援 CI/CD 工作流程的腳本會提供給您。
必要條件
- 開發自訂指令應用程式 (DEV)
- 生產環境的自訂指令應用程式 (PROD)
- 註冊 Azure Pipelines
匯出/匯入/發佈
腳本裝載於 語音助理 - 自定義命令。 將bash目錄中的文稿複製到您的存放庫。 請確定您維持相同的路徑。
設定管線
移至 Azure DevOps - 管線 ,然後選取 [新增管線]
在 [連線] 區段中,選取這些腳本所在的存放庫位置
在 [選取 ] 區段中,選取您的存放庫
在 [ 設定] 區段中,選取 [入門管線]
接下來,您會使用 YAML 檔案取得編輯器,並將 「steps」 區段取代為此腳本。
steps: - task: Bash@3 displayName: 'Export source app' inputs: targetType: filePath filePath: ./bash/export.sh arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(SourceAppId) -f ExportedDialogModel.json' workingDirectory: bash failOnStderr: true - task: Bash@3 displayName: 'Import to target app' inputs: targetType: filePath filePath: ./bash/import.sh arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId) -f ExportedDialogModel.json' workingDirectory: bash failOnStderr: true - task: Bash@3 displayName: 'Train and Publish target app' inputs: targetType: filePath filePath: './bash/train-and-publish.sh' arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId)' workingDirectory: bash failOnStderr: true
這些文稿假設您使用區域
westus2
,如果不是這種情況,請據以更新工作的自變數在 [儲存並執行] 按鈕中,開啟下拉式清單並選取 [儲存]
將管線與您的應用程式連結
流覽至管線的主頁面。
在右上角的下拉式清單中,選取 [ 編輯管線]。 它可讓您使用YAML編輯器。
在 [執行] 按鈕旁邊的右上角,選取 [ 變數]。 選取 [新增變數]。
新增這些變數:
變數 描述 SourceAppId DEV 應用程式的識別碼 TargetAppId PROD 應用程式的識別碼 SubscriptionKey 這兩個應用程式所使用的金鑰 文化特性 應用程式的文化特性(en-us) 選取 [執行],然後選取執行中的「作業」。
您應該會看到執行的工作清單,其中包含:「匯出來源應用程式」、「匯入目標應用程式」和「定型和發佈目標應用程式」
從原始程式碼部署
如果您想要將應用程式的定義保留在存放庫中,我們會提供從原始程式碼部署的腳本。 由於腳本位於bash中,如果您使用 Windows,則需要安裝 Linux 子系統。
腳本裝載於 語音助理 - 自定義命令。 將bash目錄中的文稿複製到您的存放庫。 請確定您維持相同的路徑。
準備存放庫
在我們的範例中,為您的應用程式建立目錄,建立一個名為 「apps」 的目錄。
更新下方 bash 腳本的自變數,然後執行。 它會將應用程式的對話框模型匯入檔案myapp.json
bash/export.sh -r <region> -s <subscriptionkey> -c en-us -a <appid> -f apps/myapp.json
引數 描述 region 您的語音資源區域。 例如: westus2
subscriptionkey 您的語音資源金鑰。 appid 您要匯出的自訂命令應用程式識別碼。 將這些變更推送至您的存放庫。
設定管線
移至 Azure DevOps - 管線 ,然後選取 [新增管線]
在 [連線] 區段中,選取這些腳本所在的存放庫位置
在 [選取 ] 區段中,選取您的存放庫
在 [ 設定] 區段中,選取 [入門管線]
接下來,您會使用 YAML 檔案取得編輯器,並將 「steps」 區段取代為此腳本。
steps: - task: Bash@3 displayName: 'Import app' inputs: targetType: filePath filePath: ./bash/import.sh arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId) -f ../apps/myapp.json' workingDirectory: bash failOnStderr: true - task: Bash@3 displayName: 'Train and Publish app' inputs: targetType: filePath filePath: './bash/train-and-publish.sh' arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId)' workingDirectory: bash failOnStderr: true
注意
這些腳本假設您使用westus2區域,如果不是這種情況,請據以更新工作的自變數
在 [儲存並執行] 按鈕中,開啟下拉式清單並選取 [儲存]
將管線與您的目標應用程序連結
流覽至管線的主頁面。
在右上角的下拉式清單中,選取 [ 編輯管線]。 它可讓您使用YAML編輯器。
在 [執行] 按鈕旁邊的右上角,選取 [ 變數]。 選取 [新增變數]。
新增這些變數:
變數 描述 TargetAppId PROD 應用程式的識別碼 SubscriptionKey 這兩個應用程式所使用的金鑰 文化特性 應用程式的文化特性(en-us) 選取 [執行],然後選取執行中的「作業」。 您應該會看到執行的工作清單,其中包含「匯入應用程式」 和 [定型和發佈應用程式]