Amazon web services Jenkins:使用AWS CLI命令运行Windows Powershell脚本时出现问题

Amazon web services Jenkins:使用AWS CLI命令运行Windows Powershell脚本时出现问题,amazon-web-services,powershell,jenkins,aws-cli,Amazon Web Services,Powershell,Jenkins,Aws Cli,全部。我是詹金斯的新手,我会感谢你的帮助 我有一个“build&publishLambda.ps1”powershell脚本,用于将压缩后的Lambda代码推送到AWS S3,并更新Lambda以使用新的代码版本。在此脚本中,我使用以下命令为会话获取正确的AWS凭据: try { Initialize-AWSDefaultConfiguration -ProfileName <Profile> -Region <Region> Write-Host "ST

全部。我是詹金斯的新手,我会感谢你的帮助

我有一个“build&publishLambda.ps1”powershell脚本,用于将压缩后的Lambda代码推送到AWS S3,并更新Lambda以使用新的代码版本。在此脚本中,我使用以下命令为会话获取正确的AWS凭据:

try {
    Initialize-AWSDefaultConfiguration -ProfileName <Profile> -Region <Region>
    Write-Host "STEP 1: Authorization for accessing S3 was successfull." -ForegroundColor green `n
}
catch {
    Write-Host $_ -ForegroundColor red `n 
    Write-Error "STEP 1: Authorization for accessing S3 failed." -ErrorAction:Stop
}
我收到以下错误:

16:17:29 [Project] $ powershell.exe -NonInteractive -ExecutionPolicy Bypass -File C:\Windows\TEMP\jenkins2516545345990457969.ps1
16:17:48 Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available. 
16:17:48 
16:17:48 C:\Program Files (x86)\Jenkins\workspace\Project\build&publishLamdba.ps1 : STEP 1: Authorization for accessing S3 failed.
16:17:48 At C:\Windows\TEMP\jenkins2516545345990457969.ps1:2 char:1
16:17:48 + . "$ENV:WORKSPACE\build&publishLamdba.ps1" -env dev
16:17:48 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16:17:48     + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
16:17:48     + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,build&publishLamdba.ps1
16:17:48  
16:17:48 Build step 'PowerShell' marked build as failure

你能不能,请,弄清楚我做错了什么,错误的原因是什么,以及如何解决这个问题。提前感谢

Alex B的第一句话解决了我的问题。这是:


“看起来您需要为执行Jenkins任务的实例分配AWS实例角色(首选方式,但有点复杂,请参阅),或者在实例中包含短期AWS凭据(请参阅),并使临时凭据成为公共环境变量(请参阅:公开AWS\u访问\u密钥\u ID、AWS\u机密\u访问\u密钥、AWS\u默认\u区域)

Alex B的第一条评论解决了我的问题。以下是:


“看起来您需要为执行Jenkins任务的实例分配AWS实例角色(首选方式,但有点复杂,请参阅),或者在实例中包含短期AWS凭据(请参阅),并使临时凭据成为公共环境变量(请参阅:公开AWS\u访问\u密钥\u ID、AWS\u机密\u访问\u密钥、AWS\u默认\u区域)

看起来您需要为执行Jenkins任务的实例分配AWS实例角色(首选方式,但有点复杂,请参阅)或包含短期AWS凭据(请参阅)将临时凭证放入实例并使其成为公共环境变量(请参阅:公开AWS\u访问权\u密钥\u ID、AWS\u机密\u访问权\u密钥、AWS\u默认\u区域)@AlexB,感谢您的帮助!就是这样!添加AWS角色解决了我的问题将其作为您自己问题的答案发布:)很好,这很有帮助。这不容易学。看起来您需要为执行Jenkins任务的实例分配AWS实例角色(首选方式,但有点复杂,请参阅),或者在实例中包含短期AWS凭据(请参阅),并将临时凭据设为公共环境变量(请参阅:公开AWS_访问权_密钥_ID、AWS_机密_访问权_密钥、AWS_默认_区域)@AlexB,谢谢你的帮助!就这样!添加AWS角色解决了我的问题将其作为你自己问题的答案发布:)很好,它很有帮助。这不是易学的东西。
16:17:29 [Project] $ powershell.exe -NonInteractive -ExecutionPolicy Bypass -File C:\Windows\TEMP\jenkins2516545345990457969.ps1
16:17:48 Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available. 
16:17:48 
16:17:48 C:\Program Files (x86)\Jenkins\workspace\Project\build&publishLamdba.ps1 : STEP 1: Authorization for accessing S3 failed.
16:17:48 At C:\Windows\TEMP\jenkins2516545345990457969.ps1:2 char:1
16:17:48 + . "$ENV:WORKSPACE\build&publishLamdba.ps1" -env dev
16:17:48 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16:17:48     + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
16:17:48     + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,build&publishLamdba.ps1
16:17:48  
16:17:48 Build step 'PowerShell' marked build as failure