Передайте переменные env в команду запуска docker из задания Дженкинса

0

Вопрос

Еще один вопрос о том, как передавать переменные env. Задача, которую я пытаюсь решить: у меня есть задание Дженкинса, которое проверяет код из репозитория git, запускает сборку докера и команды запуска докера. Мне нужно передать переменные env в эту команду запуска. Предпочтительно с помощью файла env, но в качестве отдельных переменных будет нормально. Вот моя работа Дженкинса:

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}

Я попытался передать переменные в качестве параметров команды запуска, я попытался сохранить переменные в env_settings.env файл, а затем передайте его с --env-file вариант. Оба варианта не сработали. Единственное, что сработало, - это объявить args в файле dockerfile, затем объявить env vars в файле dockerfile и передать их в команде сборки, но этот вариант мне не подходит. Может быть, у кого-то была такая же проблема и он знает, как ее решить?

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

Лучший ответ

0

Для Дженкинса есть несколько действительно хороших документов в официальных документах Дженкинса.

Пример:

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

Смотрите комментарий @rudolfninja к его вопросу: "обычная работа, а не конвейер Дженкинса".
Gerold Broser

На других языках

Эта страница на других языках

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