Încă o întrebare despre cum să treacă de mediu variabile. Sarcina încerc să rezolv: am jenkins loc de muncă care a verificat cod de git repo, rula docker construi și docker rula comenzi. Am nevoie pentru a trece env variabile pentru aceasta comanda run. De preferință prin utilizarea env dosar, dar ca singur variabile va fi ok. Aici este meu jenkins loc de muncă:
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}
Am încercat trece variabile ca rula comanda opțiuni, am încercat magazin variabile în env_settings.env
fișier și apoi trece-l cu --env-file
opțiune. Ambele variante nu au de lucru.
Singurul lucru care a functionat a fost declare args în dockerfile, declara atunci env var în dockerfile și trece-le în a construi comanda, dar această variantă nu este potrivit pentru mine. Poate cineva a avut aceeași problemă și știe cum să o rezolve?