Jenkins создает конвейер, предоставляющий различные среды для разных сред

У меня есть публичный репозиторий git, в котором есть Jenkinsfile. Дженкинсфайл должен иметь возможность создавать три среды: dev, staging и production.

Существует набор переменных, которые необходимо установить для каждой среды - некоторые из них являются чувствительными, и я не хотел бы помещать их в публичный репозиторий. Некоторые примеры:

S3_BUCKET_URL  
API_ENDPOINT  
API_USERNAME
API_PASSWORD 
etc.

В идеальном мире я хотел бы, чтобы параметр сборки, например, BUILD_ENV, имел параметры: 'dev', 'staging' и 'prod' и некоторую логику, которая устанавливает соответствующие переменные в зависимости от выбора env.

Я посмотрел на плагины учетных данных, но они не обрабатывают несколько envs, и пользовательский интерфейс кажется неудобным. Плюс к этому env vars доступны централизованно, в то время как нам нужно, чтобы они были напрямую связаны с работой по сборке.

Я также посмотрел на плагин env inject, который работает для установки свойств, но, похоже, нет способа заставить его изменять эти свойства в зависимости от выбранного параметра сборки.

Есть ли способ достичь этого с помощью конвейера сборки? Наверняка должен быть плагин, который уже предоставляет такую ​​возможность?

0 ответов

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