我的问题是我尝试执行 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。也许谁知道哪里有问题?请建议。
答案 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);
以查看正在进行的操作。