-
-
Save andrewmatveychuk/54bedbf5e891a8318a7f2eb765ddab16 to your computer and use it in GitHub Desktop.
$patToken = $env:SYSTEM_ACCESSTOKEN | ConvertTo-SecureString -AsPlainText -Force | |
$credential = New-Object System.Management.Automation.PSCredential($env:SYSTEM_ACCESSTOKEN, $patToken) | |
Register-PackageSource -ProviderName 'PowerShellGet' -Name <YOUR_REPOSITORY_NAME> -Location <REPOSITORY_LOCATION> -Credential $Credentials | |
Find-Module -Name 'YOUR_MODULE_NAME' -Credential $credential | |
Install-Module -Name 'YOUR_MODULE_NAME' -Credential $credential |
Andrew thanks for the detailed response, it was helpful for my troubleshooting! I think my issue was with how I implemented your script which resulted in a scoping issue with the $Credential
parameter. Seems to be working now, thanks!
Also I agree with your comment about using $(System.AccessToken)
but I do like that I don't need to manage another PAT.
I like to do this download on my local machine. What to use as credentials ?
@Brilbroeder It depends on where your feed is hosted. If you use Azure DevOps Artifacts, then you should generate your access token: https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows
Here is the extract from my PSDepend definition:
And here is the Enter-Build section from the InvokeBuild script I use to build the module:
And, finally, here is how it is being invoked in the pipeline:
That's cool stuff.. i'm also using PSDepend & InvokeBuild but I never thought of using it like you did. GREAT Example.!! πβ¨π
Hey @ckolumbus,
Thanks for the feedback! π»
Hi Elliott!
Yes, it still works for me.
Here is the extract from my PSDepend definition:
And here is the Enter-Build section from the InvokeBuild script I use to build the module:
And, finally, here is how it is being invoked in the pipeline:
Note that you should grant your pipeline access to the feed with your private package so that it can authenticate to it by using the system access token.
P.S. It's not ideal to pass the access token insecurely via the environment variable, but as it is used in the pipeline context only, I'm okay with that.