我们的团队几周前开始使用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
}
}
答案 0 :(得分:0)
有关处理密码和凭据的文章可能对您有用:
Working with Passwords, Secure Strings and Credentials in Windows PowerShell
答案 1 :(得分:0)
我在设置凭据方面遇到了一些问题。
我的解决方案是升级nuget.exe(v3.3.x从v3.x.x升级)并使用添加源和用户名/密码,并使用Artifactory中的ApiKey作为密码。