Конвейер выпуска Azure Devops: можно ли каким-то образом передать подключение службы к сценарию Powershell?
У меня есть задача Powershell, которую я использую для выполнения нескольких команд для экземпляра Pivotal Cloud Foundry. Прямо сейчас я застрял, проходя мимо
URL
,
username
, и
password
(как заблокированная переменная) "вручную", чтобы я мог
cf login
- но они уже существуют как служебное соединение.
Можно ли «передать» соединение службы для доступа к этим значениям? В
Cloud Foundry CLI
Например, в задаче есть раскрывающийся список для выбора конечной точки Cloud Foundry. Когда я создаю группу задач, если я добавляю
$(someVariable)
в любом месте ADO достаточно умен, чтобы добавить это в список переменных, которые требуются группе задач. Я надеюсь, что что-то подобное существует, и я могу сказать
$([ServiceConnection]cfConn)
или что-то подобное в моем сценарии Powershell, и произойдет волшебство.
1 ответ
Итак, вы можете это сделать. Вы захотите:
Перейдите в «Подключения к сервису» и настройте «Общее» подключение к сервису для использования с Cloud Foundry. (В этом примере мы назовем его "Cloud Foundry - Dev")
После того, как вы это сделаете, вы можете установить соединение с сервисом как корневую переменную:
trigger:
- main
pool:
vmImage: ubuntu-latest
variables:
CloudFoundryServiceConnectionName: 'Cloud Foundry - Dev'
steps:
- task: CloudFoundryCLI@0
inputs:
cfEndpoint: ${{ variables.CloudFoundryServiceConnectionName }}
cfCommand: 'YOUR-COMMAND'
Однако, если вы пытаетесь войти в систему несколько раз в одной и той же задаче CloudFoundryCLI, этот маршрут вам не подойдет. Задача просто использует строку для поиска подключения к службе и настройки.
Обновление: включение метода классического редактора. Чтобы сделать это в классическом редакторе:
- Перейдите на вкладку «Переменные» в своем выпуске (или конвейере):
- Добавьте переменную ServiceConnection :
- Перейдите к задаче CLI Cloud Foundry
- Добавьте «$(ServiceConnection)» в качестве подключения к службе:
ОБНОВЛЕНИЕ: если вы хотите получить прямой доступ к настраиваемым переменным в Powershell, а не к подключению к службе, вам нужно создать новую группу переменных в библиотеке в Azure DevOps:
Затем вам нужно перейти к своему конвейеру (классический в примере ниже) и связать группу переменных:
Наконец, обновите свой скрипт Powershell, чтобы использовать переменную: