Powiedz zmienne env w polecenie uruchomienia docker z zadania Jenkins

0

Pytanie

Jeszcze jedno pytanie o tym, jak przekazywać zmienne env. Zadanie, które staram się rozwiązać: mam zadanie Jenkins, który sprawdza kod z repozytorium git, uruchamia złożenie nudziarz z niego, co i polecenia uruchomienia nudziarz z niego, co. Muszę przekazać zmienne env w tej polecenie uruchomienia. Najlepiej za pomocą pliku env, ale jako poszczególnych zmiennych będzie dobrze. Oto moja praca Jenkins:

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}

Próbowałem przekazać zmienne jako parametry polecenia uruchomienia, próbowałem zapisać zmienne w env_settings.env plik, a następnie przekazać go z --env-file wariant. Oba warianty nie zadziałały. Jedyne, co się udało, to ogłosić args w pliku dockerfile, a następnie ogłosić env vars w pliku dockerfile i przekazać je w zespole złożenia, ale ta opcja mi nie pasuje. Może ktoś miał taki sam problem i wie jak go rozwiązać?

docker jenkins
2021-11-23 20:29:46
1

Najlepsza odpowiedź

0

Dla Jenkins jest kilka naprawdę dobrych dokumentów w oficjalnych dokumentach Jenkins.

Przykład:

stage("some:job") {
  steps {
     script {
        def args = "-e AWS_SECRET_ACCESS_KEY=x"
        docker.image('localstack/localstack:0.12.0').withRun("${args}") { c ->
          sh "echo hi"

        }
     }
  }
}
2021-11-23 23:03:21

Patrz komentarz @rudolfninja do jego pytanie: "normalna praca, a nie przenośnik Jenkins".
Gerold Broser

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................