Я создал простой конвейер, который пытается запустить сценарий, а затем я сделаю что-то еще с выводом, однако сценарий (CheckTagsDates. sh) никогда не завершается согласно Дженкинсу. Если IS SH в подчиненном узле Jenkins, например, пользователь jenkins, перейдет в нужную папку рабочей области, я смогу успешно выполнить команду.
pipeline {
agent {label 'agent'}
stages {
stage('Check for releases in past 24hr') {
steps{
sh 'chmod +x CheckTagsDates.sh'
script {
def CheckTagsDates = sh(script: './CheckTagsDates.sh', returnStdout: true)
echo "${CheckTagsDates}"
}
}
}
}
}
Вот содержимое CheckTagsDates. sh file
#!/bin/bash
while read line
do
array[ $i ]="$line"
(( i++ ))
done < <( curl -L -s 'https://registry.hub.docker.com/v2/repositories/library/centos/tags'|jq -r '."results"[] | "\(.name)&\(.last_updated)"')
for i in "${array[@]}"
do
echo $i | cut -d '&' -f 1
echo $i | cut -d '&' -f 2
done
Вот вывод скрипта в консоли
latest
2020-01-18T00:42:35.531397Z
centos8.1.1911
2020-01-18T00:42:33.410905Z
centos8
2020-01-18T00:42:29.783497Z
8.1.1911
2020-01-18T00:42:19.111164Z
8
2020-01-18T00:42:16.802842Z
centos7.7.1908
2019-11-12T00:42:46.131268Z
centos7
2019-11-12T00:42:41.619579Z
7.7.1908
2019-11-12T00:42:34.744446Z
7
2019-11-12T00:42:24.00689Z
centos7.6.1810
2019-07-02T14:42:37.943412Z