【问题标题】:How do I use the tfs-cli (tfx) to update a TFS extension for an on-premise TFS instance?如何使用 tfs-cli (tfx) 更新本地 TFS 实例的 TFS 扩展?
【发布时间】:2017-07-08 02:02:57
【问题描述】:

我的公司有一个本地 TFS 2017 实例。我知道如何通过 Web 界面安装和更新扩展,但它非常乏味。我想知道tfs-cli 是否有更快的方法。

【问题讨论】:

    标签: tfs


    【解决方案1】:

    出于某种原因,我花了一段时间才弄清楚这一点。起初我以为tfs-cli 只能用于向 Visual Studio Marketplace 发布扩展,但事实并非如此。以下是本地 TFS 的操作方法:

    生成个人访问令牌

    您可以关注instructions here。或者:

    1. 将鼠标悬停在右上角的个人资料图片上。
    2. 选择“安全”。
    3. 如果尚未选择,请选择“个人访问令牌”部分。
    4. 单击“添加”按钮生成新令牌。
    5. 如果您想限制范围,请仅选择“市场(发布)”选项。
    6. 点击“创建令牌”。
    7. 复制并保存在安全的地方!

    登录

    在命令行中输入以下内容:

    tfx login

    系统将提示您输入服务 URL 和您在上一步中生成的个人访问令牌。

    对于服务 URL,请使用贵公司用于访问 TFS 的任何内容。示例网址:

    注意事项:

    1. 指定 http/https。
    2. 您可能需要/可能不需要指定端口号。
    3. 根据您运行的 TFS 2017 版本和安装方式,您可能需要也可能不需要在 URL 中包含 /tfs/。例如,安装时it's possible to get rid of the /tfs/ virtual directory。查看您在浏览器中使用 TFS 时使用的 URL 以及相应的命令。

    打包你的扩展

    1. 导航到扩展的根目录。
    2. tfx extension create --manifests <manifest-file-name> --rev-version
      • --manifests 标志用于指定清单的文件名,例如vss-extension.json
      • --rev-version 标志会自动增加你的包的补丁号。

    发布(安装/更新)您的扩展程序

    使用publish 命令安装/更新(它会找出需要完成的操作)您的扩展。

    tfx extension publish --service-url <tfs-url>

    您需要在此处再次指定服务 URL。如果您不这样做,tfx 将尝试将您的扩展发布到 VSS 市场。

    最后,我喜欢的脚本:

    rm *.vsix &&    # Remove old packages
    tfx extension create --manifests <manifest-file-name> --rev-version &&
    tfx extension publish --service-url <tfs-url>
    

    【讨论】:

    • 由于 PAT 就像一个密码,我强烈建议不要在任何脚本中以明文形式保存它。您应该手动使用“tfs login --service-url --token ”。此连接将被缓存并可重复使用。因此,您无需在每次发布扩展程序时都重新输入凭据。
    • @Flex 感谢您的提示。我没有将令牌硬编码在我的脚本中,但我编辑了我的答案以首先使用tfx login 命令和后续命令无令牌,以防止读者犯该错误。
    猜你喜欢
    • 2016-09-16
    • 2019-02-15
    • 2015-04-24
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    相关资源
    最近更新 更多