如何将Shell脚本添加到Jenkins管道

时间:2019-12-17 16:07:36

标签: shell jenkins-pipeline

我有以下shell脚本:

du -sh /bbhome/shared/data/repositories/* |sort -h |tail -20 |
while IFS= read -r line;do
        DIR=`echo $line | awk '{print$2}'`
        Rep=`cat $DIR/repository-config |grep 'project\|repo' |  tr '\n' ' '`
        Size=`echo $line | awk '{print $1}' `
        echo $Size $Rep
done

我如何在Jenkins中执行Execute shell来运行它?我还需要在环境中添加ssh命令(无需密码)。 注意,我不想连接到env并运行此shell,而是直接从Excecue shell框中

Execute shell

1 个答案:

答案 0 :(得分:2)

如果我没记错的话,那么您使用的是Freestyle作业,而不是管道作业。 无论如何,我认为您必须尝试以下方法:

ssh -t XXXXX@YYYYY << 'EOF' du -sh /bbhome/shared/data/repositories/* |sort -h |tail -20 | while IFS= read -r line;do\ DIR=回显$ line | awk'{print $ 2}'\ Rep= cat $ DIR / repository-config | grep'project \ | repo'| tr'\ n'''\ Size= echo $ line | awk'{print $ 1}'\ echo $Size $Rep\ done EOF 我已经使用\转义了while循环内的代码,如果无法正常运行,则可以使用;代替。

如果您需要使用管道作业的帮助,请告诉我,但我可能会更复杂。