Java Переменные среды Spring application.propperties или значение по умолчанию - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь выполнить полную разработку для производственного конвейера.

В этом сценарии я хочу, чтобы задание Jenkins развернуло приложение Java Spring после завершения новой фиксации.

Пример некоторых из моих application.propperties:

spring.datasource.url=jdbc:mariadb://localhost:3306/application-api?serverTimezone=CET
spring.datasource.username=USERNAME
spring.datasource.password=PASSWORD

Как только вы получите это в git хранилище, ваши учетные данные будут сохранены и визуально доступны для всех. У меня пока нет планов что-либо публиковать c, но кажется плохой идеей хранить application.properties с паролями в git хранилище.

Так что в лучшем случае я хочу что-то вроде этого где я могу установить переменные среды на моем сервере развертывания: spring.datasource.username=${DB_PASS}:PASSWORD В случае, если переменная среды DB_PASS не существует

Я застрял на том, как этого добиться. Я видел использование @Value, но я не знаю, как использовать это с заданными свойствами приложения.

Ответы [ 2 ]

3 голосов
/ 22 марта 2020

Вы можете использовать все свойства также в качестве переменных среды.

Просто введите имя в верхнем регистре и замените. _ _ 1003 *

SPRING_DATASOURCE_URL=jdbc:mariadb://localhost:3306/application-api?serverTimezone=CET
SPRING_DATASOURCE_USERNAME=USERNAME
SPRING_DATASOURCE_PASSWORD=PASSWORD

Пожалуйста, ознакомьтесь с документацией: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot -features-external-config

0 голосов
/ 23 марта 2020

Почему вы храните учетные данные github в application.properties?

Рассмотрите возможность подключения Jenkins к github через Webhooks:

Вот плагин для Jenkins

Вот руководство по настройке и использованию веб-хитов Github с Jenkins

РЕДАКТИРОВАНИЕ 3/24/2020: Вы можете рассмотреть вопрос о наличии файла свойств, который внешний по отношению к проекту и добавьте его в путь к классам (просто не фиксируйте его), используя что-то вроде @PropertySource. Кроме того, после создания проекта вы можете поместить файл свойств в тот же каталог, и он будет выбран по умолчанию при запуске приложения с весенней загрузкой.

Пример:

C:<path to project>/target/project.jar

C:<path to project>/target/custom-properties.properties

, затем

custom-properties.properties

будут загружены при запуске.

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