通过Jenkins运行.sh脚本来执行aws命令错误

时间:2017-11-02 09:33:06

标签: bash shell amazon-web-services jenkins amazon-s3

我的问题是我尝试执行 shell脚本,将创建的文件从msbuild复制到 AWS s3 ,通过 Jenkins

然后我添加新的构建步骤"执行Shell"并设置为通过命令执行shell脚本:sh publishS3.sh没有任何反应,文件不会在s3存储桶中执行。 我的詹金斯使用本地Windows服务器。

然后我尝试通过在Jenkins本地目录中输入sh publishS3.sh来执行shell脚本一切正常,文件被成功地复制到s3存储桶,但是如果我尝试从jenkins执行它没有任何事情发生。我的publishS3.sh脚本是:

#!/bin/bash
aws s3 cp  Com.VistaDraft.Common.dll s3://download.vistadraft.com/MVP

我试图通过在结束命令中添加>来检查执行后收到的女巫输出。 output.txt但Jenkins生成一个空文件。如果我尝试在本地做同样的事情我收到一条消息,我已经将文件成功地复制到s3。我设置jenkins C:\ Program Files \ Git \ git-bash.exe的shell脚本路径,并在本地使用git-bash.exe。也许谁知道哪里有问题?请建议。

1 个答案:

答案 0 :(得分:0)

您可以尝试在脚本的第一行添加#!/bin/bash -ex # rest of script ,以便您了解它正在做什么并简化调试:

aws

确保which aws工具位于Jenkins运行脚本的环境的PATH中。如果指定命令的完整路径,则可能会有所帮助。

您可以在脚本中添加CGRect autocompleteRect = CGRectMake(schoolField.frame.origin.x, schoolField.frame.origin.y + 70, schoolField.frame.size.width,autocompleteTableView.contentSize.height); 以查看正在进行的操作。