gpt4 book ai didi

azure-devops - 在 Azure Devops 上完成拉取请求后如何自动 'git tag -a'?

转载 作者:行者123 更新时间:2023-12-03 14:54:11 25 4
gpt4 key购买 nike

我们如何在 master 上添加自定义注释标签一旦拉取请求 (PR) 完成,自动 ?

更多背景:

  • 使用 azure-pipelines.yml
  • 分行政策 master强制使用 PR
  • 我们有一个存储 Azure Devops 管道模板的存储库(“devops 模板存储库”)
  • 其他存储库具有引用“devops 模板”存储库的根管道文件
  • 我们使用 SEMVER 来标记我们的产品,包括 devops 模板 repo
  • 在根管道中,我们希望固定到 devops 模板存储库的 SEMVER 版本
  • 我们目前使用以下每个手动标记以指向 PR 完成后发生的合并提交
  • "v MAJOR . MINOR . PATCH "
  • “v MAJORMINOR
  • “v MAJOR

  • 置顶 MAJOR唯一的例子:

    resources:
    repositories:
    - repository: templates
    type: git
    name: template_devops_pipelines
    ref: "refs/tags/v1"

    最佳答案

    我使用的示例标记管道:

    trigger:
    - main

    variables:
    user.email: "devops@myorganization.com"
    user.name: "DevOps"
    defaultBranch: "main"
    major: 1
    minor: 0
    patch: $[counter(variables['patch'], 2)]

    name: $(major).$(minor).$(patch)

    steps:
    - checkout: self
    persistCredentials: true
    - script: |
    git config user.email ${{variables['user.email']}}
    git config user.name ${{variables['user.name']}}
    displayName: 'configure git credentials'
    - script: |
    git tag "$(Build.BuildNumber)"
    git push origin "$(Build.BuildNumber)"
    displayName: 'git tag'
    condition: eq(variables['Build.SourceBranchName'], variables['defaultBranch'])
    你基本上需要三件事:
  • 结帐 persistCredentials - 这样您的管道可以稍后标记和推送
  • 配置 git user.email 和 user.password
  • 标签和推送

  • 对于最后一步,您需要为管道构建服务帐户分配“贡献”权限。转至: Project Settings -> Repositiories -> {your repo} -> Security , 查找用户 {your organization} Build Service并将贡献设置为 Allow .

    关于azure-devops - 在 Azure Devops 上完成拉取请求后如何自动 'git tag -a'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60540841/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com