Encore une question sur comment passer des variables d'environnement. La tâche que je suis en train de le résoudre: j'ai jenkins emploi vérification de code de repo git, exécutez le panneau de construire et de docker exécuter des commandes. J'ai besoin de passer des variables d'environnement pour exécuter cette commande. En utilisant de préférence fichier de configuration, mais comme de simples variables seront ok. Voici mon jenkins travail:
cp WL/${stageid}/env_settings.env ./env_settings.env
ls
docker build \
-t customer_front${stagePrefix} .
docker stop customer_front${stagePrefix} || true && docker rm customer_front${stagePrefix} || true
#source env_settings.env
docker run \
-d --restart unless-stopped \
-e CLIENT_URL='https://test.customer.app' \
-e SITE_NAME='My best site' \
--name customer_front${stagePrefix} \
-p ${externalPort}:3000 \
-e DEFAULT_LOCALE=$DEFAULT_LOCALE \
-e COUNTRY=$COUNTRY \
-e CURRENCY=$CURRENCY \
customer_front${stagePrefix}
J'ai essayé de passer des variables que l'exécution de la commande options, j'ai essayé de stocker des variables dans env_settings.env
fichier et de le passer avec --env-file
option. Les deux variantes ne fonctionne pas.
La seule chose qui a fonctionné a été déclarer args dans dockerfile, puis de déclarer env vars dans dockerfile et de les transmettre à construire de commande, mais cette variante n'est pas adapté pour moi. Peut être que quelqu'un a eu le même problème et sait comment le résoudre?