Env değişkenlerinin nasıl aktarılacağı hakkında başka bir soru. Çözmeye çalıştığım görev: Git repo'dan kodu kontrol eden, docker build ve docker run komutlarını çalıştıran jenkins işim var. Env değişkenlerini bu çalıştırma komutuna iletmem gerekiyor. Tercihen env dosyasını kullanarak, ancak tek değişkenler olarak tamam olacaktır. İşte benim jenkins işim:
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}
Değişkenleri çalıştır komut seçenekleri olarak geçirmeyi denedim, değişkenleri depolamayı denedim env_settings.env
dosyalayın ve sonra iletin --env-file
seçenek. Her iki varyant da işe yaramadı.
İşe yarayan tek şey arg'leri dockerfile'da bildirmek, ardından env var'ları dockerfile'da bildirmek ve bunları build komutunda iletmekti, ancak bu varyant benim için uygun değil. Belki birisi aynı sorunu yaşadı ve nasıl çözeceğini biliyor mu?