Как получить доступ к переменной среды из конвейера и передать ее в конвейер выпуска - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть приложение, которое автоматически создает и развертывает.

Текущий поток:

Git pu sh -> Azure (сборка) конвейер создает артефакт -> Azure Выпускной конвейер выбирает артефакт и развертывает его на сервер DigitalOcean, использующий «copy files», а затем переходит в командную строку.

Мне нужно выполнить автоматическую настройку c в командной строке, для которой требуется переменная среды, уникальная для каждой сборки.

Как я могу получить доступ к переменной среды из конвейера и каким-то образом передать ее в конвейер выпуска, чтобы я мог использовать ее в командах в командной строке?

NPM Команда, использованная для экспорта переменная окружения:

  "releasecustom": "export VUE_APP_SENTRY_RELEASE=$(UniqueValue) && node 
   scripts/createreleasesentry.js && npm run build && node scripts/finalizereleasesentry.js",

1 Ответ

1 голос
/ 23 апреля 2020

Я немного боюсь, что это не поддерживается из коробки. Что вы можете сделать, это записать свои значения в файл, используя, например, задачу powershell ( или использовать расширение для этого ).

New-Item -Path $(Build.ArtifactStagingDirectory)/vardrop -Name "variables.txt" -ItemType "file" -Value "This is a text string."

Тогда вы должны опубликовать sh это как артефакт.

- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: '$(Build.ArtifactStagingDirectory)/vardrop'
    artifactName: vardrop

Как следующий в конвейере выпуска, вам нужно скачать артефакт, прочитать этот файл и установить переменную (используя задачу powershell).

У вас есть пример, но если он есть в файле больше значений, чем одно, вам нужно разделить их и назначить отдельно.

echo "##vso[task.setvariable variable=dp]$(cat $(System.ArtifactsDirectory)/vardrop/variables.txt)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...