Вы можете использовать Kudu api для выполнения команды cd ../client; yarn run start
.
Чтобы вызвать kudu api, вам нужно добавить задачу azure powershell после задачи AzureWebApp для запуска ниже встроенного сценария.
После развертывания артефактов в azure веб-приложении. Вы можете проверить развернутую среду веб-приложения azure, посетив https://{{YOUR-APP-NAME}}.scm.azurewebsites.net/api/zip/site/{{FOLDER}}
.
. Вы можете проверить папку развернутого веб-приложения azure, посетив вышеуказанный сайт, и принять решение $apiCommand
выполнить dir. Обычно это dir="D:\home\site\wwwroot"
.
steps:
- task: AzurePowerShell@4
displayName: 'Azure PowerShell script: InlineScript'
inputs:
azureSubscription: '<...>'
ScriptType: InlineScript
Inline: |
$ResGroupName = "<..>"
$WebAppName = "<..>"
# Get publishing profile for web application
$WebApp = Get-AzWebApp -Name $WebAppName -ResourceGroupName $ResGroupName
[xml]$publishingProfile = Get-AzWebAppPublishingProfile -WebApp $WebApp
# Create Base64 authorization header
$username = $publishingProfile.publishData.publishProfile[0].userName
$password = $publishingProfile.publishData.publishProfile[0].userPWD
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$apiBaseUrl = "https://$($WebApp.Name).scm.azurewebsites.net/api/command"
$apiCommand = @{
command = 'powershell.exe -command "cd client; yarn run start"'
dir="D:\home\site\wwwroot"
}
Invoke-RestMethod -Uri $apiBaseUrl -Headers @{"Authorization"="Basic $base64AuthInfo";"If-Match"="*"} -Method POST -ContentType "application/json" -Body (ConvertTo-Json $apiCommand)
azurePowerShellVersion: LatestVersion
enabled: false
Вышеуказанный скрипт получает имя пользователя и пароль из файла профиля Publi sh вашего веб-приложения Azure. Имя пользователя и пароль необходимы для вызова API kudu для выполнения команды. Имя пользователя и пароль также можно получить на портале azure (загрузите файл профиля Publi sh веб-приложения Azure на портале azure).
Указанный выше скрипт apicommand дает команду выполнить в развернутой среде azure веб-приложения. В приведенном выше примере команда будет запускать cd client; yarn run start
для запуска клиентского приложения.
Пожалуйста, проверьте здесь для получения дополнительной информации о примерах kudu api