Мы запускаем Дженкинса внутри контейнера докера, используя докер-композицию.Как вводить внешние переменные среды в конфигурацию jenkins и задания на работу с трубопроводом?
Конечная цель состоит в том, чтобы иметь возможность запускать производственные и тестовые среды, которые настраиваются переменными окружения, заданными командой docker-compose.
Определим несколько переменных окружения в файле докер-compose.yml, такие как:
environment:
- gitlabrepourl=http://url-of-our-git-repo/repo-name
- hosturl=http://jenkins-host-url
окружающей среды переменные находятся внутри контейнера при запуске оболочки Bash, но у нас есть проблемы, используя их в Дженкинс конфигурации и в нашем сценарии конвейера.
Некоторые примеры:
- При создании задания трубопровода и выбрать "сценарий трубопроводов от SCM" -> мерзавец -> Repository URL = $ {gitlabrepourl}. Задача конвейера способна клонировать репозиторий, чтобы получить файл Jenkins, но при запуске «checkout scm» он терпит неудачу, потому что $ {gitlabrepourl} не разрешен. (Возможно, ошибка Jenkins?)
- При попытке использовать переменные окружения в конфигурациях системы Jenkins они не разрешаются во всех местах. например при попытке использовать $ {hosturl} как нашу конфигурацию «Jenkins URL», она не разрешена. или при попытке использовать $ {gitlabrepourl} в нашей конфигурации URL-адреса хоста Gitlab, он не проходит проверку соединения.
Резюме:
- Как мы можем использовать переменные окружения в конфигурации Дженкинс, и как мы можем знать, какие поля поддержки, используя переменные окружения?
- Как ввести переменные среды, присутствующие в контейнере докера, в сценарий конвейера?
- Любой способ, который может помочь нам достичь любой из наших целей, будет высоко оценен.
Спасибо.
Переменные окружения INJECT не работал для меня по какой-то причине , Я определил его в файле Jenkinsfile по свойствам. –