У меня есть конвейер Jenkins CICD, и мне нужно прочитать файл конфигурации, в котором есть пары ключ-значение Project, который должен быть собран с номером тега.
Мне нужно прочитать этот файл и выполнить конвейер Jenkinsшаги в цикле.
В настоящее время мой конвейер Jenkins CICD работает для отдельной сборки.У меня возникают проблемы при попытке прочитать файл конфигурации и выполнить цикл, выполнив следующие действия.
Ниже приведен пример кода, который я пытаюсь достичь:
pipeline{
agent any
environment {
buildApp = "$ApplicationToBuild"
cloudEnvironment = "$ENV"
TIMESTAMP = new java.text.SimpleDateFormat('yyyyMMddHHmmss').format(new Date())
WORKSPACE="${env.WORKSPACE}"
}
stages {
stage ('Validation step for deployment') {
steps {
script {
sh 'line_count=$( wc -l applicationSettings.config )'
echo 'line count is $line_count'
for (int lines = 0; lines < ${line_count}; lines++) {
gitAppRepo=""
gitAppTag=""
gitAppRepo=$(echo $lines | sed 's/=.*//')
echo "gitAppRepo is $gitAppRepo"
gitAppTag=$(grep "^$gitAppRepo=" ./applicationSettings.config |cut -d= -f2)
echo "gitAppTag is $gitAppTag"
}
}
}
}
}
post {
always {
echo 'One way or another, I have finished'
}
}
}
Я использую количество строк ицикл через файл конфигурации, чтобы получить приложение для развертывания и тег.Фактическое развертывание будет вызвано в другом файле jenkins, который содержит все шаги.
Ниже приведена ошибка в вышеуказанном цикле.Есть ли какой-нибудь подходящий метод для выполнения цикла хотя бы в groovy?
java.lang.NoSuchMethodError: Нет такого DSL-метода '$' среди шагов
И как мы вызываемеще один JenkinsFile в том же проекте.Ниже моя файловая структура.Мне нужно вызвать Jenkins_files_main в Jenkins_files.
Jenkins_files
README.md
applicationSettings.config
Jenkins_files_main