2016-10-14 2 views
0

J'ai suivi les instructions de spring-boot documentation et avec succès déployé spring-boot comme service en centos.passant RUN_ARGS pour l'application de démarrage de printemps en cours d'exécution en tant que service dans linux

Toutes les commandes suivantes fonctionnent

sudo /etc/init.d/myapp start 
sudo /etc/init.d/myapp stop 
sudo /etc/init.d/myapp status 

application.properties a des références de base de données que j'ai besoin de passer outre au cours du déploiement. Je veux le définir comme variable d'environnement RUN_ARGS simplement parce que mon serveur CI (Jenkins) va déployer l'application, configurer la variable d'environnement et démarrer le service

alors j'espérais que les deux commandes suivantes fonctionneraient dans mon centos machine

export RUN_ARGS='spring.datasource.username=XXXXX,spring.datasource.password=YYYY' 
sudo /etc/init.d/myapp start 

Cependant, ces deux valeurs ne sont pas ramassés application de démarrage de printemps. Il prend plutôt les valeurs par défaut dans application.properties et le service échoue lors de l'initialisation du pool.

quel est le problème avec la façon dont je passe le RUN_ARGS. Quelle est la bonne façon de le faire? J'ai également essayé d'utiliser JAVA_OPTS mais sans utilité.

export JAVA_OPTS='-Dspring.datasource.username=XXXXX,-Dspring.datasource.password=YYYY' 
sudo /etc/init.d/myapp start 

Répondre

1

Si je me souviens bien, il devrait être

sudo /etc/init.d/myapp start --spring.datasource.username=xxx --spring.datasource.password=yyy 
+0

passant plusieurs commandes ne fonctionnent pas. seulement le premier semble être ramassé. Y a-t-il un délimiteur que je dois utiliser? '--spring.datasource.username = xxx --spring.datasource.password = yyy'. de ceux-ci seulement, le nom d'utilisateur est correctement défini –

+0

vous devez probablement emballer tous les arguments entre guillemets. – ndrone

+0

J'ai essayé '" --spring.datasource.username = xxx --spring.datasource.password = yyy "'. Cela n'a pas fonctionné non plus –