Правильная обработка отдельных учетных данных на ветку в конвейере Jenkins - PullRequest
0 голосов
/ 05 июля 2018

Моя текущая установка включает в себя 2 проекта в стиле фристайл в Дженкинсе, каждый из которых выполняет один и тот же поток с разными параметрами. Я хотел переделать его, и мне показалось, что лучше использовать Pipeline вместо этого беспорядка. Мне также нужна пара учетных данных:

  • пароль базы данных (строка)
  • Учетные данные Docker Host
  • HTTP имя пользователя / пароль для базовой аутентификации (пара имени пользователя и пароля)
  • некоторые секретные ключи и т. Д. Я не хочу их жестко кодировать

Мне также нужно больше параметров. Моя проблема в том, что я хочу, чтобы все они были разными на ОТРАСЛИ, например:

  • master: использовать учетные данные для prod, пароль рабочей БД, нет имени пользователя и пароля HTTP, секретные ключи производства
  • stage: используйте учетные данные для stage, пароль DB базы данных, HTTP-имя пользователя и пароль, секретные ключи stage
  • все остальное: ничего не развертывать

Я хотел решить эту проблему путем сохранения идентификаторов учетных данных в качестве параметров, например:

parameters {
    string(name: 'DB_CREDENTIALS_ID', defaultValue: '', description: 'DB password')
    string(name: 'HTTP_CREDENTIALS_ID', defaultValue: '', description: 'DB password')
    string(name: 'DOCKER_CREDENTIALS_ID', defaultValue: 'docker_cert', description: 'Credentials ID')
    ...
}

Но я понятия не имею, где и как я могу переопределить эти значения по умолчанию. Я хочу, чтобы этим управляли на стороне Дженкинса. Может быть, мой подход совершенно неверен? Что считается хорошей практикой при использовании привязок учетных данных в конвейере Jenkins? Я действительно надеюсь, что в Jenkinsfile это не жестко закодированные идентификаторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...