我可以用pip从私有的VSTS存储库安装软件包吗?

7
我想使用pip为我的Python应用程序安装私有包。
我的包存储在Azure DevOps(Visual Studio Team Services)上的git仓库中。
我看到 pip支持git,但我无法确定Azure URL的可行格式。
我想避免凭据管理器。 我尝试过git + ssh(带有密钥)和git + https(带有个人访问令牌)。
是否可能使用Azure / VSTS完成此操作?
为了背景,我参考了这些资源:

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

如何使用pip从私有github仓库安装包?

以下是我的尝试:

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
不确定这是否有帮助,但您可以尝试这个链接 - Jayendran
@jayendran,这正是问题所在!我的情况不在构建管道之内,但这让我找到了正确的格式。将其转化为答案,我会标记它为正确的。谢谢! - Scott Coldwell
1个回答

2

有可能的,可以看一下这个现有的请求

基于此,您需要按照以下步骤进行操作:

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

上述是系统变量,您可以在此处找到完整详情here

您也可以使用Rest API像下面这样获取访问令牌

$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)"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接