Использование секрета Docker для доступа к базе данных в Jenkinsfile - PullRequest
0 голосов
/ 28 февраля 2019

В моем Jenkinsfile я запускаю команду Maven для запуска миграции базы данных.Эта база данных работает в контейнере Docker.

При развертывании контейнера базы данных мы используем секрет Docker из узла менеджера роя для пароля.

Есть ли способ использовать этот секрет Docker в сценарии конвейера Jenkins вместо того, чтобы вводить его в виде простого текста?Я мог бы использовать учетные данные Дженкинса, но тогда мне нужно было бы хранить одни и те же секреты в двух разных местах.

sh """$mvn flyway:info \
    -Dproject.host=$databaseHost \
    -Dproject.port=$databasePort \
    -Dproject.schema=$databaseSchema \
    -Dproject.user=db_user \
    -Dproject.password=db_pass \ // <--- Use a Docker secret here...
"""

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете создать учетные данные username and password в jenkins, например, database_crendential, а затем использовать их следующим образом:

environment {
    DATABASE_CREDS = credentials('database_crendential ')
}

...
sh """$mvn flyway:info \
-Dproject.host=$databaseHost \
-Dproject.port=$databasePort \
-Dproject.schema=$databaseSchema \
-Dproject.user=${DATABASE_CREDS_USR}\
-Dproject.password=${DATABASE_CREDS_PSW}\ // <--- Use a Docker secret here...
"""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...