Я пытаюсь запустить bash-файл внутри док-контейнера в конвейере jenkins.Вот мой bash-файл, который сравнивает два массива и печатает что-то, если они разные:
// path/to/file/my-bash.sh
#!/bin/bash
array1="some array"
array2="some array"
result=$(echo ${array1[@]} ${array2[@]} | tr ' ' '\n' | sort | uniq -u)
[ ! -z "$result" ] && echo "different arrays"
, а вот этап конвейера jenkins:
stage('Running the bash file') {
sh """#!/bin/bash -l
docker-compose -f docker-compose.yml -p "${env.BUILD_TAG}" exec -T --user it php bash -l -c "cd /path/to/file && ./my-bash.sh" > result.txt
"""
}
Возможно, эта строка result=$(echo ${array1[@]} ${array2[@]} | tr ' ' '\n' | sort | uniq -u)
вызываетпроблема, потому что без него все работает нормально.Но я не знаю, в чем проблема.