Конвейер выпуска Azure Devops: можно ли каким-то образом передать подключение службы к сценарию Powershell?

У меня есть задача Powershell, которую я использую для выполнения нескольких команд для экземпляра Pivotal Cloud Foundry. Прямо сейчас я застрял, проходя мимо URL, username, и password (как заблокированная переменная) "вручную", чтобы я мог cf login - но они уже существуют как служебное соединение.

Можно ли «передать» соединение службы для доступа к этим значениям? В Cloud Foundry CLIНапример, в задаче есть раскрывающийся список для выбора конечной точки Cloud Foundry. Когда я создаю группу задач, если я добавляю $(someVariable)в любом месте ADO достаточно умен, чтобы добавить это в список переменных, которые требуются группе задач. Я надеюсь, что что-то подобное существует, и я могу сказать $([ServiceConnection]cfConn) или что-то подобное в моем сценарии Powershell, и произойдет волшебство.

1 ответ

Решение

Итак, вы можете это сделать. Вы захотите:

  1. Перейдите в «Подключения к сервису» и настройте «Общее» подключение к сервису для использования с Cloud Foundry. (В этом примере мы назовем его "Cloud Foundry - Dev")

  2. После того, как вы это сделаете, вы можете установить соединение с сервисом как корневую переменную:

      trigger:
- main
pool:
  vmImage: ubuntu-latest
variables:
  CloudFoundryServiceConnectionName: 'Cloud Foundry - Dev'
steps:
- task: CloudFoundryCLI@0
  inputs:
    cfEndpoint: ${{ variables.CloudFoundryServiceConnectionName }}
    cfCommand: 'YOUR-COMMAND'

Однако, если вы пытаетесь войти в систему несколько раз в одной и той же задаче CloudFoundryCLI, этот маршрут вам не подойдет. Задача просто использует строку для поиска подключения к службе и настройки.

Обновление: включение метода классического редактора. Чтобы сделать это в классическом редакторе:

  1. Перейдите на вкладку «Переменные» в своем выпуске (или конвейере):
  2. Добавьте переменную ServiceConnection :
  3. Перейдите к задаче CLI Cloud Foundry
  4. Добавьте «$(ServiceConnection)» в качестве подключения к службе:

ОБНОВЛЕНИЕ: если вы хотите получить прямой доступ к настраиваемым переменным в Powershell, а не к подключению к службе, вам нужно создать новую группу переменных в библиотеке в Azure DevOps:

Затем вам нужно перейти к своему конвейеру (классический в примере ниже) и связать группу переменных:

Наконец, обновите свой скрипт Powershell, чтобы использовать переменную:

Другие вопросы по тегам