Azure devops 在azure devops中的发布管道期间创建标记

Azure devops 在azure devops中的发布管道期间创建标记,azure-devops,Azure Devops,设置 当运行发布管道时,我会这样做 使用build pipeline projectA(使用存储库projectA)的工件 此工件是一个节点包构建 我将注入(重新版本)包版本(使用管道变量version),然后作为最后一步发布到npm注册表 目标 除了所有的构建/发布任务之外,我们还有一个特定的问题,那就是在发布步骤中缺少对存储库的签出。我们不想让存储库实际“重建”某些东西,而是使用变量$VERSION标记我们构建的提交并将其推送到存储库 问题 我确实知道如何获取源项目存储库构建(env-var

设置

当运行发布管道时,我会这样做

  • 使用build pipeline projectA(使用存储库projectA)的工件
  • 此工件是一个节点包构建
  • 我将注入(重新版本)包版本(使用管道变量
    version
    ),然后作为最后一步发布到npm注册表
  • 目标 除了所有的构建/发布任务之外,我们还有一个特定的问题,那就是在发布步骤中缺少对存储库的签出。我们不想让存储库实际“重建”某些东西,而是使用变量
    $VERSION
    标记我们构建的提交并将其推送到存储库

    问题

    我确实知道如何获取源项目存储库构建(env-var
    build.SourceVersion
    )的
    commit hash
    )和存储库名称(env-var
    build.repository.name
    ),但我不明白如何实际签出存储库,因为我缺少凭据

    现在我在Github上有了存储库(私有存储库),但也可能会转移到私有Bitbucket

    实际的具体问题是,如何使用

    • 或者使用静态名称
    • 或者使用
      Build.Repository.Name

    • 或者是一般任务(一些git回购)
    • 或者特定的SCM回购任务(例如使用某种服务连接从github签出
      或从bitbucket签出

    我假设我需要某种凭证,在我目前的情况下,它将是某种Github访问令牌或类似的(oAuth)?

    因此我不确定您是否使用基于GUI的版本或更新版本

    对于经典版本GUI,您可以从添加一个工件,该工件是您的Github存储库。当您添加工件时,它将要求您配置回github的服务连接,或者您可以使用现有连接

    在代理作业级别的发布定义编辑器中,您需要确保选中允许脚本访问OAuth令牌

    从那里导航到包含存储库的发布目录,然后可以推送标记

    cd $(Agent.ReleaseDirectory)\_enufacas_azureDevOps.Postman
    git tag  Rel-$(Build.BuildNumber)
    git push --tags
    

    多级管道也有类似的路径,使用

    这甚至比问的还要多,非常感谢!我没有意识到多级管道,也会调查这些@尤金迈耶,没问题!