Как установить имя переменной в нижнем регистре на VSTS CI в `.vsts-ci.yml`? - PullRequest
0 голосов
/ 05 сентября 2018

Имеется следующий .vsts-ci.yml файл:

queue: Hosted Linux Preview
variables:
    foo: bar

steps:
- script: |
    ./test.sh

И следующий test.sh файл:

#!/bin/bash
echo ${foo}

Я получаю пустой вывод. Однако, когда я изменяю файл на:

#!/bin/bash
echo ${FOO}

Я получаю вывод bar.

Есть ли способ отключить преобразование имен переменных в верхний регистр, чтобы .vsts-ci.yml работал с инструментами, которые ожидают переменные в именах в нижнем или смешанном регистре?

1 Ответ

0 голосов
/ 07 сентября 2018

Это ожидаемое поведение, и нет способа контролировать это. За подробностями обращайтесь по этой ссылке: Определите и измените свои переменные в скрипте .

Чтобы определить или изменить переменную из скрипта, используйте task.setvariable команда регистрации. Обратите внимание, что обновленное значение переменной находится в области выполняется фаза, и не распространяется на фазы или среды. Имена переменных преобразуются в верхний регистр , а символы "." и "" заменены на "_".

Например, Agent.WorkFolder становится AGENT_WORKFOLDER. В Windows Вы получаете доступ к этому как% AGENT_WORKFOLDER или $ env: AGENT_WORKFOLDER. На Linux и macOS, вы используете $ AGENT_WORKFOLDER.

...