[英]run .sh script via Jenkins to execute aws command error
我的問題是我嘗試執行Shell腳本以通過Jenkins 將創建的文件從msbuild 復制到AWS s3 。
然后,我添加新的構建步驟“ Execute Shell”並設置為通過命令執行Shell腳本:sh publishS3.sh沒有任何反應,文件沒有在s3存儲桶中封裝。 我的Jenkins使用本地Windows Server。
然后,我嘗試通過在Jenkins本地目錄中鍵入ok來執行shell腳本,一切正常,文件已成功復制到s3 bucket中,但是如果我嘗試從jenkins中執行此操作,則不會發生任何事情。 我的publishS3.sh腳本是:
#!/bin/bash
aws s3 cp Com.VistaDraft.Common.dll s3://download.vistadraft.com/MVP
我試圖通過在末尾添加命令> output.txt來檢查執行后我收到的女巫輸出,但詹金斯生成了一個空文件。 如果我嘗試在本地執行相同的操作,則會收到一條消息,提示我已成功將文件復制到s3。 我設置詹金斯C:\\ Program Files \\ Git \\ git-bash.exe的外殼腳本路徑,並在本地也使用git-bash.exe。 也許誰知道哪里出了問題? 請提出建議。
您可以嘗試在腳本的第一行中添加-ex
,以查看其作用並簡化調試過程:
#!/bin/bash -ex
# rest of script
確保aws
工具位於Jenkins運行腳本的環境的PATH中。 如果您指定命令的完整路徑,則可能會有所幫助。
您可以在腳本中放入which aws
,以查看發生了什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.