Пользовательские переменные сборки TFS 2015 не включены в качестве переменных среды

Я добавил пользовательскую переменную в свою сборку в TFS 2015, однако эта переменная не отображается в переменных среды при запуске сборки. Я проверил это, запустив

Get-ChildItem Env:

в скрипте PowerShell. Существует множество документации о предопределенных переменных сборки, но документация о том, как получить доступ к пользовательским переменным, довольно разочаровывает. Любая помощь будет оценена по достоинству.


person developagility    schedule 14.10.2015    source источник


Ответы (2)


Вот и разобрался.

Первоначально я назвал свою переменную OCTOPUS_API_KEY. Я подумал, поскольку я буду обращаться к нему только как к переменной среды, я мог бы также использовать соглашение об именах env var.

По-видимому, имена определяемых вами пользовательских переменных преобразуются каким-то внутренним недокументированным правилом описано здесь.

Исходя из этого, я переименовал переменную в octopus.api.key, и она была должным образом преобразована в переменную среды OCTOPUS_API_KEY и включена в сборку.

Казалось бы, преобразование, примененное к именам переменных, чтобы сделать их дружественными к env var, на самом деле не обрабатывает переменные, которые уже находятся в правильном формате.

person developagility    schedule 14.10.2015

Документация для переменных сборки теперь доступна и описывает поведение, наблюдаемое в вопросе.

Все переменные также экспортируются в среду в верхнем регистре, а любые . заменяются на _. В скриптах вы можете ссылаться на переменные через среду, то есть %VARIABLE_NAME%, $VARIABLE_NAME, $env:VARIABLE_NAME, в зависимости от операционной системы.

Также стоит отметить, что переменные, помеченные как «секретные», не экспортируются как переменные среды.

person Holistic Developer    schedule 07.06.2016