Azure Pipelines Shell脚本任务未执行

时间:2019-05-07 12:22:35

标签: bash shell azure-pipelines

我正在尝试执行一个Shell脚本,该脚本在构建管道中修改了我的源代码中的某些文件。该版本在私有linux代理上运行。

所以我正在使用shell脚本任务(我也尝试过内联bash任务),我的Yaml看起来像这样:

- task: ShellScript@2
  inputs:
    scriptPath: analytics/set-base-image.bash
    args: $(analyticsBaseImage)
    failOnStandardError: true

然后设置base-image.bash:

#!/bin/bash
sudo mkdir testDir
sudo sed -i -e "s/##branchBaseImagePlaceholder##/$1/g" Dockerfile-shiny
sudo sed -i -e "s/##branchBaseImagePlaceholder##/$1/g" Dockerfile-plumber

但是什么也没发生。我得到如下所示的调试输出:

##[debug]/bin/bash arg: /datadrive/agent1/_work/1/s/analytics/set-base-image.bash
##[debug]args=analytics-base
##[debug]/bin/bash arg: analytics-base
##[debug]failOnStandardError=true
##[debug]exec tool: /bin/bash
##[debug]Arguments:
##[debug]   /datadrive/agent1/_work/1/s/analytics/set-base-image.bash
##[debug]   analytics-base
[command]/bin/bash /datadrive/agent1/_work/1/s/analytics/set-base-image.bash analytics-base
/datadrive/agent1/_work/1/s/analytics
##[debug]rc:0
##[debug]success:true
##[debug]task result: Succeeded
##[debug]Processed: ##vso[task.complete result=Succeeded;]Bash exited with return code: 0

testDir未创建,并且文件未修改。

如果我登录到代理计算机并在该计算机上运行(在脚本文件上运行chmod + x之后),该脚本运行良好。

我还尝试了内联Bash任务而不是Shell任务(无论如何区别并不明显)。

如果我向脚本添加不需要任何特权的命令,例如echopwd,则这些命令运行良好,并且在调试中看到了结果。但是mkdir和sed不会。

0 个答案:

没有答案