Как использовать переменную конвейера внутри файла свойств из git - PullRequest
0 голосов
/ 26 июня 2019

В конвейере Azure я загружаю файл свойств kubernetes deploy.yml, который содержит следующее содержимое.

spec:
  imagePullSecrets:
  - name: some-secret
  containers:
  - name: container-name
    image: pathtoimage/data-processor:$(releaseVersion)
    imagePullPolicy: Always
    ports:
    - containerPort: 8088
    env:

Мое намерение - получить значение из конвейерной переменной $(releaseVersion). Но похоже, что kubernetes задача не позволяет получить доступ к этому значению из переменной конвейера.

Я попытался использовать встроенный тип конфигурации, и он работает. Это означает, что если я копирую ту же конфигурацию, что и встроенный контент, в конфигурацию задачи kubernetes, она работает.

В любом случае, я могу заставить его работать для конфигурации из файла?

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Как я понимаю, вы можете заменить переменную содержимого файла deploy.yml во время выполнения сборки.

Вы можете использовать одну задачу с именем Заменить задачу Tokens (Примечание: маркер под этим именем задачи не совпадает с PAToken).Это задача, которая поддерживает замену значений файлов в проектах переменными окружения при настройке процессов сборки / выпуска VSTS.

Установка Сначала заменить маркеры из магазина, а затем добавить Заменить токеныЗадача в ваш конвейер.

Настройте путь к файлу .yml в корневом каталоге.Для меня мой целевой файл находится в папке Drop моего локального.А затем укажите, какой файл вы хотите использовать, и замените его.

enter image description here

Чтобы настроить другие аргументы, вы можете проверить этот документ, на который я когда-либо ссылался:https://github.com/qetza/vsts-replacetokens-task#readme

Примечание : Выполните эту задачу перед задачей Развернуть в Kubernetes, чтобы изменение можно было применить к кластеру Kubernetes.

Здесь также есть другой образец блога , который вы можете найти.

1 голос
/ 26 июня 2019

Это должно быть частью вашего конвейера для замены переменных среды внутри шаблона развертывания

Что-то вроде:

- sed -i "s/$(releaseVersion)/${RELEASE_VERSION_IN_BUILD_RUNNER}/" deployment.yml
- kubectl apply -f deployment.yml

Вы можете установить переменные в своем конвейере. https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...