Отвечая на мой вопрос:
Где была проблема :
Проблема была не в bash, а в самом jenkins-cli.jar.
Сообщение об ошибке показывало No such command create-credentials-by-xml
, что заставило меня подумать, что это ошибка bash, но на самом деле это была ошибка файла jar.
Причина :
Причиной сбоя при выполнении пользовательских данных, а не при выполнении bash, было то, что он не смог загрузить конфигурацию плагинов за короткий промежуток времени.
Решение :
По указанной причине очевидно, что для этого нужно время, поэтому я дал ему sleep 25
, чтобы подтвердить, работает он или нет, и да, он работает, но это не было идеальным решением.
Оптимизированное решение :
Чтобы сделать его лучше, я перечислил plugins
перед выполнением любых команд jar и, если список пуст, перезапустите commnd
# Creating CMD utility for jenkins-cli commands
jenkins_cmd="java -jar /opt/jenkins-cli.jar -s $JENKINS_URL -auth admin:$PASSWORD"
# Waiting for Jenkins to load all plugins
while (( 1 )); do
count=$($jenkins_cmd list-plugins 2>/dev/null | wc -l)
ret=$?
echo "count [$count] ret [$ret]"
if (( $count > 0 )); then
break
fi
sleep 30
done