У нас есть развертывание OctopuSdeploy, которое развертывает наш код в автоматизированную среду тестирования приема. И у нас есть сборка Teamcity, которая выполняет наши автоматические анализы.
Задача: TeamCity Build выгнала после того, как наш код был объединен, не после завершения развертывания. Мы хотели, чтобы тесты откинулись только после того, как окружающая среда была готова.
Решение
Я создал шаблон OctopuSdeploy Shape, чтобы запустить сборку TeamCity, а затем использовал этот шаблон шаблона в развертывании осьминога.
Работает через создание Http пост
Запрос против API TeamCity.
Шаблон шаблона содержимое
Я создал скрипт PowerShell, который использует некоторые параметры
$parsedUrlString = "$TeamCityServerURL" + "/app/rest/buildQueue" $parsedXmlBody = '' $HeaderFields = @{} $HeaderFields.add("Authorization", "Bearer $TeamCityAccessToken") $HeaderFields.add("Origin", "$TeamCityServerURL") Write-Host "Attempting to run the $TeamCityBuildConfigID build" Write-Host "Connecting to $parsedUrlString" Invoke-WebRequest -UseBasicParsing $parsedUrlString -ContentType "application/xml" -Method POST -Body $parsedXmlBody -Headers $HeaderFields
Параметры
Из переменных в скрипте осьминог будет генерировать шаблоны шаблонов:
Генерация токена доступа к титуке
- Откройте TeamCity и отправляйтесь в меню настроек:
- Нажмите, чтобы создать токен доступа:
- Дайте токену доступа к имени:
- Скопируйте токен доступа
Добавление шага сборки
- В октябрь, откройте рассматриваемый развертывание
- Добавьте шаг развертывания и выберите шаг шаблона
- Добавьте соответствующие параметры
Результат
Теперь, когда мы совершаем код:
- Сборка отделки
- Развертывание осьминога начинается
- После развертывания последний шаг называет другой сборной TeamCity
- TeamCity Build выступает, чтобы запустить наши автоматические тесты принятия
Счастливое развертывание!
Оригинал: «https://dev.to/seankilleen/how-to-call-a-teamcity-build-from-octopusdeploy-53n0»