Использование секрета Docker для доступа к базе данных в Jenkinsfile
В моем 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 ответ
Вы можете создать username and password
например, учетные данные в Дженкинс 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...
"""