如何在管道中安装推送到 Azure Artifacts 的 PowerShell 模块?
How to install PowerShell module pushed to Azure Artifacts in Pipelines?
在 this article 之后,我设置了管道以将 PowerShell 模块推送到我的 Artifacts 提要。
我可以在我的本地机器上安装该模块,但我想知道如何在 Pipelines 中做同样的事情?添加 NuGet 源似乎是一个交互式过程,那么 Pipelines 如何添加 Artifacts 源作为源?
问题是我不想在 CI 环境中进行任何用户交互。
如果您使用的是自托管代理,您需要配置文件夹module
权限,自托管代理运行通过服务帐户而不是个人帐户的cmd。
如果您使用的是托管代理,请添加任务权限 shell 并输入以下脚本以安装模块。
$patToken = "$(pat)" | ConvertTo-SecureString -AsPlainText -Force
$credsAzureDevopsServices = New-Object System.Management.Automation.PSCredential("xxx", $patToken)
Register-PSRepository -Name "PowershellAzureDevopsServices" -SourceLocation "https://pkgs.dev.azure.com/{Org name}/{project name}/_packaging/{feed name}/nuget/v2" -PublishLocation "https://pkgs.dev.azure.com/{Org name}/{project name}/_packaging/{feed name}/nuget/v2" -InstallationPolicy Trusted -Credential $credsAzureDevopsServices
Get-PSRepository
Find-Module -Repository PowershellAzureDevopsServices -Credential $credsAzureDevopsServices
Install-Module -Name Get-Hello -Repository PowershellAzureDevopsServices -Credential $credsAzureDevopsServices
Get-Module -ListAvailable Get-Hello
结果:
更新1
我们在注册电源外壳库时需要输入密码,方法是Register-PSRepository
这是一个认证问题,如果我们改变认证方式,也许我们不需要输入代码。
另外,我们也可以通过cmd安装模块Install-Module Get-Hello -Scope CurrentUser -Force
在 this article 之后,我设置了管道以将 PowerShell 模块推送到我的 Artifacts 提要。
我可以在我的本地机器上安装该模块,但我想知道如何在 Pipelines 中做同样的事情?添加 NuGet 源似乎是一个交互式过程,那么 Pipelines 如何添加 Artifacts 源作为源?
问题是我不想在 CI 环境中进行任何用户交互。
如果您使用的是自托管代理,您需要配置文件夹module
权限,自托管代理运行通过服务帐户而不是个人帐户的cmd。
如果您使用的是托管代理,请添加任务权限 shell 并输入以下脚本以安装模块。
$patToken = "$(pat)" | ConvertTo-SecureString -AsPlainText -Force
$credsAzureDevopsServices = New-Object System.Management.Automation.PSCredential("xxx", $patToken)
Register-PSRepository -Name "PowershellAzureDevopsServices" -SourceLocation "https://pkgs.dev.azure.com/{Org name}/{project name}/_packaging/{feed name}/nuget/v2" -PublishLocation "https://pkgs.dev.azure.com/{Org name}/{project name}/_packaging/{feed name}/nuget/v2" -InstallationPolicy Trusted -Credential $credsAzureDevopsServices
Get-PSRepository
Find-Module -Repository PowershellAzureDevopsServices -Credential $credsAzureDevopsServices
Install-Module -Name Get-Hello -Repository PowershellAzureDevopsServices -Credential $credsAzureDevopsServices
Get-Module -ListAvailable Get-Hello
结果:
更新1
我们在注册电源外壳库时需要输入密码,方法是Register-PSRepository
这是一个认证问题,如果我们改变认证方式,也许我们不需要输入代码。
另外,我们也可以通过cmd安装模块Install-Module Get-Hello -Scope CurrentUser -Force