Ancora un'altra domanda su come passare le variabili env. Il compito che sto cercando di risolvere: ho jenkins lavoro il check-out il codice da repo git, eseguire mobile costruire la finestra mobile e l'esecuzione di comandi. Ho bisogno di passare variabili env per eseguire questo comando. Preferibilmente utilizzando env file, ma come singole variabili sarà ok. Qui è il mio jenkins lavoro:
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}
Ho provato a passare le variabili come eseguire le opzioni di comando, ho provato a memorizzare variabili in env_settings.env
file e poi passare con --env-file
l'opzione. Entrambe le varianti non lavoro.
L'unica cosa che ha funzionato è stato dichiarare args in dockerfile, per poi dichiarare env vars in dockerfile e passarli in comando build, ma questa variante non è adatto per me. Può essere che qualcuno ha avuto lo stesso problema e sa come risolverlo?