Сценарий
My nodejs, который помогает перенести портал azure из одной среды в другую, выводит на консоль предупреждение, которое моим сценарием CI / CD считается ошибкой (https://github.com/Azure/api-management-developer-portal/blob/master/scripts/migrate.js) . Фрагмент кода (из migrate. js) выглядит следующим образом:
// capture the content of the source portal (excl. media)
execSync(`node ./capture ${sourceEndpoint} "${sourceToken}" ${dataFile}`);
// remove all content of the target portal (incl. media)
execSync(`node ./cleanup ${destEndpoint} "${destToken}" "${destStorage}"`);
// upload the content of the source portal (excl. media)
execSync(`node ./generate ${destEndpoint} "${destToken}" ${dataFile}`);
// download media files from the source portal
mkdirSync(mediaFolder, { recursive: true });
execSync(`az storage blob download-batch --source ${mediaContainer} --destination ${mediaFolder} --connection-string "${sourceStorage}"`);
// upload media files to the target portal
execSync(`az storage blob upload-batch --source ${mediaFolder} --destination ${mediaContainer} --connection-string "${destStorage}"`);
if (publishEndpoint && !yargs.selfHosted) {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;
publish(publishEndpoint, destToken);
} else if (publishEndpoint) {
console.warn("Auto-publishing self-hosted portal is not supported.");
}
Этот код автоматизируется инструментом CI / CD с использованием PowerShell. Таким образом, код генерирует некоторое предупреждение при выполнении, которое Powershell рассматривает как ошибку, из-за чего инструмент CI / CD возвращает ошибку.
Я пытался выполнить сценарий с «--no-warning» из сценария PowerShell, это мне не помогло. Также пробовал запустить powershell с & 4> 1 & 3> 1 & 2> 1, но получаю ту же ошибку.
Фрагмент сценария Powershell,
Write-Host "migrate --sourceEndpoint "$APIMSourceEndpoint --destEndpoint $APIMDestinationEndpoint --publishEndpoint $APIMDestPublishEndpoint --sourceId $sourceTenantAccess.Id --sourceKey $sourceTenantAccess.PrimaryKey --destId $destinationTenantAccess.Id --destKey $destinationTenantAccess.PrimaryKey
#Install required libraries to run the migration script
npm i
#Execute migration script
node ./scripts/migrate --no-warnings --sourceEndpoint $APIMSourceEndpoint --destEndpoint $APIMDestinationEndpoint --publishEndpoint $APIMDestPublishEndpoint --sourceId $sourceTenantAccess.Id --sourceKey $sourceTenantAccess.PrimaryKey --destId $destinationTenantAccess.Id --destKey $destinationTenantAccess.PrimaryKey
Я получаю:
13:22:29 Error | Alive[################################################################] 100.0000%
13:22:29 Error | Finished[#############################################################] 100.0000%
13:22:29 Error | Alive[################################################################] 100.0000%
13:22:29 Error | Finished[#############################################################] 100.0000%
13:22:29 Error | Alive[################################################################] 100.0000%
13:22:29 Error | Finished[#############################################################] 100.0000%