从jenkins pipleline运行docker命令时出错

时间:2018-11-27 16:03:10

标签: bash docker jenkins jenkins-pipeline pipeline

我正在尝试在jenkins管道中的docker容器内运行bash文件。这是我的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"

这是詹金斯流水线阶段:

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)可能会引起问题,因为如果没有它,一切都会很好。但是我不知道问题出在哪里。

0 个答案:

没有答案