У меня есть конвейер Jenkins, который запускает файл сценария.
Я протестировал скрипт за пределами Jenkins, и он отлично работает, но когда я пытаюсь запустить его как часть конвейера, я получаю следующую ошибку:
/maint/git-branches.sh: line 2: syntax error: unexpected "("
Сценарий:
#!/bin/bash
branches=()
eval "$(git for-each-ref --shell --format='branches+=(%(refname))' refs/heads/)"
for branch in "${branches[@]}"; do
echo "${branch##*/}"
done
И мой этап конвейера:
stage ('Fetching Branches') {
steps {
script {
def branchcollection = sh (script: "sh maint/git-branches.sh", returnStdout: true).trim()
BRANCH = input message: 'Choose branch to pull from', ok: 'Ok', parameters: [choice(name: 'BRANCH', choices: "${branchCollection}", description: '')]
}
}
}
Все скобки ')'
совпадают, поэтому нет свободных скобокв любом месте.