0

我们的团队几周前开始使用 Artifactory,我们目前正在努力解决的挑战之一是身份验证。目前,我们在 Artifactory 中为每个开发人员设置了一个帐户登录,我们有一个 build.ps1 文件,我们用它来恢复我们的 nuget 包,但我们正在尝试自动化这个过程。

这是我们的 powershell 脚本的样子。但它不会提示用户输入他们的用户名和密码,除非他们将其作为参数添加到 .\build.ps1 命令行,但问题是密码是以纯文本形式输入的。

"Updating NuGet Dependencies"
$nuget = "$rootDir\.nuget\NuGet.exe"
if ($nuser)
{
    Invoke-Expression "$nuget Sources Update -Name 'Artifactory' -UserName $user -Password $pass"
}
Invoke-Expression "$nuget install -NonInteractive -DisableParallel"
if ($lastexitcode -ne 0) {
    Write-Host -foreground red "Error occurred downloading dependencies."
    exit 1
}
dir . | where { $_.psiscontainer } | where { (test-path (join-path $_.fullname "packages.config")) } | foreach {
    Invoke-Expression "$nuget install '$($_.fullname)\packages.config' -NonInteractive -DisableParallel"
    if ($lastexitcode -ne 0) {
        Write-Host -foreground red "Error occurred downloading project dependencies."
        exit 1
    }
}
4

2 回答 2

0

这篇关于处理密码和凭据的文章可能对您有用:

在 Windows PowerShell 中使用密码、安全字符串和凭据

于 2014-02-04T00:17:52.570 回答
0

我在设置凭据时遇到了一些问题。

我的解决方案是升级 nuget.exe(v3.xx 的 v4.3.0),并使用带有用户名/密码的 Add Sources,使用 Artifactory 的 ApiKey 作为密码。

于 2017-11-16T09:23:42.917 回答