Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How can we run Powershell script to use AWSPowerShell commands from bitbucket pipeline?

Ranjit Sharma December 1, 2020

Hi, I configured pipeline to run Powershell script that was working fine except AWS commands so tried to execute statements like given below but it is failing on Install-Package statement. What could be the reason (memory or permission issue) ?

param ([String]$environment,[String]$accessKey, [String] $secretKey, [String]$s3Region, [String]$bucketName, [String]$templateName, [String]$templatePath)

Install-Package -Name AWSPowerShell -Source https://www.powershellgallery.com/api/v2/ -ProviderName NuGet -ExcludeVersion -Destination /usr/local/share/powershell/Modules -Force

Set-AWSCredentials -AccessKey $accessKey -SecretKey $secretKey

Write-S3Object -BucketName $bucketName -File $templateName -Force -Key $templatePath -Region $s3Region

powershell-error.png

1 answer

0 votes
Alistair.Mackay January 9, 2021

Hi @Ranjit Sharma 

If I were you, I would preload PowerShell and any required modules onto the build agent to that they are always there for use

However, if that is not possible, and in the interests of faster build times, then you should use the modular AWS.Tools packages rather than the monolithic AWSPowerShell. AWS.Tools has a separate package for each AWS service, so you only install for the services you expect to use, e.g. AWS.Tools.S3. Also install the packages to user-space if you're doing it with each run of your plan

Install-Module AWS.Tools.Installer -Force -Scope CurrentUser
Install-AWSToolsModule AWS.Tools.S3 -Force -Scope CurrentUser -Cleanup
Set-AWSCredentials -AccessKey $accessKey -SecretKey $secretKey
Write-S3Object -BucketName $bucketName -File $templateName -Force -Key $templatePath -Region $s3Region

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events