代码之家  ›  专栏  ›  技术社区  ›  cgrim

TFS Feed包直接URL

tfs
  •  0
  • cgrim  · 技术社区  · 6 年前

    有没有办法直接通过URL从TFS Feed下载包?

    为什么我需要它

    我在TFS提要中有maven工件,我需要在Docker映像构建期间使用curl下载其中一个。

    我试过的

    curl -v -o package.war -H "Authorization: Basic token..." "https://tfs.company.com/tfs/myCollectin/myProject/_packaging?feed=myFeed&package=com.company.application%3Apackage&version=1.0&protocolType=maven&_a=package#"
    

    但它又回来了 401未经授权 尽管我使用与maven deploy相同的令牌。

    现在我不确定我是否有一个坏的URL,或者我是否有一个坏的令牌,或者是否有可能。

    谢谢。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Andy Li-MSFT    6 年前

    试着去掉双引号 "" 对于URL:

    curl -v -o package.war -H "Authorization: Basic <token>" https://tfs.company.com/tfs/myCollectin/myProject/_packaging?feed=myFeed&package=com.company.application%3Apackage&version=1.0&protocolType=maven&_a=package#
    
        2
  •  0
  •   cgrim    6 年前

    很抱歉回答了我自己的问题,但我终于找到了解决办法:

    curl -o package.war -H "Authorization: Basic token..." "https://tfs.company.com/tfs/myCollection/_packaging/myFeed/maven/v1/com/company/application/package/1.0/package-1.0.war"

    问题出在URL本身。正确的URL模式应该是:

    https://tfs.company.com/tfs/myCollection/_packaging/myFeed/maven/v1/com/company/application/package/1.0/package-1.0.war

    ... 而不是:

    https://tfs.company.com/tfs/myCollectin/myProject/_packaging?feed=myFeed&package=com.company.application%3Apackage&version=1.0&protocolType=maven&_a=package

    如果我查看maven的部署日志,我会在前面发现URL应该是不同的,不必在这里询问。我很抱歉。