Я развертываю новый Jenkins с нуля на одном хосте, используя Docker поверх AWS.Его режим аутентификации установлен на SAML (с использованием Okta), и мы настраиваем его с помощью JCasC (Configuration as code).Стратегия развертывания, которую мы решили, заключается в развертывании нового экземпляра при каждом изменении конфигурации.Однако, чтобы дать нашим конечным пользователям хороший опыт, мы хотим сделать два шага перед переключением между старым и новым выпуском:
- Переведите старый экземпляр в тихий режим.
- Запрос на выполнение сборок
- Когда выполняется запрос на сборку = 0, то поменяйте местами экземпляр.У нас нет проблем с этим с помощью API, но ... проблема в том, что мы зависим от одной вещи: токен API!
Как мы можем программно создавать иполучать токен API каждый раз, когда выпускается новый экземпляр Jenkins, когда для режима аутентификации установлено значение SAML ?