Установка переменной группы задач в скрипте не меняет ее значения - PullRequest
0 голосов
/ 17 октября 2018

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

В группе задач после установки переменной CONTAINER_PORT в сценарии она доступна в последующих задачах сценария,но при доступе к нему через $(CONTAINER_PORT) возвращается исходное значение переменной группы задач.

например. После создания сборки с использованием группы задач мне нужно установить CONTAINER_PORT на 81, поскольку все задачигрупповые переменные требуются по умолчанию.

Задача 1 - Настроить сценарий (Bash)

containerPort=8080
if [ $(framework) == 'dotnet' ]; then containerPort=80; fi;
echo "##vso[task.setvariable variable=CONTAINER_PORT]$containerPort";

Задача 2 - Создает Dockerfile (File Creator)

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE $(CONTAINER_PORT)
...

Задача 2(Вывод) - я ожидаю EXPOSE 8080 здесь

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 81
...

Задача 3 - Сценарий коммита (Bash)

echo "Port should be set to: $CONTAINER_PORT"

Задача 3 (Вывод)

Port should be set to: 8080

tldr;Правильное значение $CONTAINER_PORT доступно в будущих задачах сценария, но не в задаче File Creator, которая ожидает содержимое файла.

Пример создателя файла: File Creator

...