Задайте переменную в скрипте bash и получите доступ в выражении в конвейерах Azure - PullRequest
0 голосов
/ 05 марта 2019

Я использую сценарий azure-pipelines.yml для управления исходным кодом моего конвейера сборки.

В задаче я определил сценарий bash, чтобы установить некоторые переменные для путей сертификатов в зависимости от того, собираемся ли мы для производства или чего-либо ещееще:

 steps:
  - bash: |
      echo "Building for $BUILD_SOURCEBRANCHNAME"
      if [ "$BUILD_SOURCEBRANCHNAME" = "production" ]; then
        echo "##vso[task.setvariable variable=configuration]Release"
        echo "##vso[task.setvariable variable=certificatesPath]${{ parameters.productionCertificatesPath }}"
      else
        echo "##vso[task.setvariable variable=configuration]Staging"
        echo "##vso[task.setvariable variable=certificatesPath]${{ parameters.stagingCertificatesPath }}"
      fi
    name: environmentVars

Как я могу получить доступ к этим переменным в выражении на следующем этапе сборки в той же работе?Я знаю, что могу получить к ним доступ как $(environmentVars.configuration) и $(environmentVars.certificatesPath), но этот синтаксис не работает для выражений.Вот где я пытаюсь получить доступ к переменным:

signingProvisioningProfileFile: ${{ format('{0}/app.mobileprovision', <ACCESS VARIABLE HERE>) }}

1 Ответ

0 голосов
/ 21 марта 2019

Мое решение этого состояло в том, чтобы просто вставить нужные константы в начальную настройку переменной вместо того, чтобы пытаться отформатировать ее позже.Например:

echo "##vso[task.setvariable variable=certificatesPath]${{ parameters.productionCertificatesPath }}/app.mobileprovision"
...