我可以使用pip从私有VSTS信息库安装软件包吗?

时间:2018-11-06 22:56:13

标签: git pip azure-devops

我想使用pip为我的python应用安装私有软件包。

我的软件包存储在 Azure DevOps (Visual Studio Team Services)上的git仓库中。

我看到了git is supported by pip,但是我无法确定Azure的URL的可行格式。

我想避免使用Credential Manager。我已经尝试了git + ssh(带密钥)和git + https(带个人访问令牌)。

是否可以使用Azure / VSTS做到这一点?

对于上下文,我引用了以下资源:

https://www.revsys.com/tidbits/using-private-packages-python/

Is it possible to use pip to install a package from a private github repository?

这是我的一些尝试:

git+https://myUsername:myAccessToken@myCompany.visualstudio.com/myProject/_git/myPackage.git
git+https://<myAccessToken>@visualstudio.com/<myCompany>/<myProject>.git@<ref>
git+https://<myUsername>:<myAccessToken>@<myCompany>.visualstudio.com/<myteam>/<myProject>.git@<ref>
git+https://<myUsername>:<myAccessToken>@visualstudio.com/<myCompany>/<myProject>.git@<ref>
git+https://<myUsername>:<myAccessToken>@visualstudio.com/<myCompany>/<myProject>.git@<ref>
git+ssh://myCompany@vs-ssh.visualstudio.com:v3/myCompany/<myProject>.git@<ref>

1 个答案:

答案 0 :(得分:2)

有可能,请看一下现有的Request

因此,您需要执行以下步骤,

  • 检查“允许”脚本访问“代理”作业中的OAuth令牌 阶段
  • 包括任务:命令行
  • 在回购克隆URL之间添加$(System.AccessToken)

以上是系统变量,您可以找到完整的详细信息here

您也可以使用Rest API like below for getting the access token

$url = "$($env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)$env:SYSTEM_TEAMPROJECTID/_apis/build-release/definitions/$($env:SYSTEM_DEFINITIONID)?api-version=2.0"
Write-Host "URL: $url"
$pipeline = Invoke-RestMethod -Uri $url -Headers @{
    Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
Write-Host "Pipeline = $($pipeline | ConvertTo-Json -Depth 1000)"