можно ли использовать переменные, хранящиеся в файле репозитория git, в сборке jenkins

Я создаю сборку Jenkins Freestyle и загружаю репозиторий git в SCM. Один из файлов в репозитории содержит контент, связанный со сборкой. Как я могу передать их как переменные и использовать их во время сборки. Существуют ли какие-либо плагины, которые можно использовать?


person Thani    schedule 03.06.2021    source источник


Ответы (1)


Если вы используете декларативный конвейер (вы можете легко превратите свою работу во фристайле в такой конвейер), вы можете прочитать файл и запустить другое задание с содержимым из этого файла в качестве параметров.

Вы можете увидеть (близкий) пример в разделе Чтение файла из рабочей области в Jenkins с помощью скрипта Groovy.

pipeline {
   agent any

   stages {
      stage('Hello') {
         steps {
            script{
               git branch: 'Your Branch name', credentialsId: 'Your crendiatails', url: ' Your BitBucket Repo URL '
          
               def filePath = readFile "${WORKSPACE}/ Your File Location"                   
               def lines = filePath.readLines() 
               for (line in lines) {                                            
                  build(job: "anotherjob",
                        parameters:[$line]
               } // for
            } // script
         }// steps
      } // stage
   } // stages
} // pipeline
person VonC    schedule 03.06.2021
comment
Я создал 4 задания с помощью конструктора заданий jenkins. Все 4 задания используют разные репо. В каждом репо есть файл с соответствующим списком рассылки, который необходимо прочитать и обновить на этапе пост-сборки. Я искал возможность прочитать содержимое файла как переменную из файла в рабочей области и обновить его в пост-сборке. - person Thani; 07.06.2021
comment
@Thani Точно: мой ответ иллюстрирует, как читать этот файл. Затем вы можете назначить его переменной среды: stackoverflow.com/a/53525173/6309 - person VonC; 07.06.2021