【问题标题】:Reuse Azure DevOps pipeline for GitHub release为 GitHub 发布重用 Azure DevOps 管道
【发布时间】:2019-12-10 17:30:21
【问题描述】:

我已经有一个现有的Azure DevOps pipeline。每当一个新的提交被推送到相应的GitHub repo 并执行所有仪式(buildtest 等)时,它就会被触发。

现在我想设置发布。每当推送的提交被标记为release-v* 时,就必须进行发布。这应该执行与已经指定的相同的仪式,但最终会在 GitHub 上发布。

实现这一目标的最佳方法是什么?我需要复制我的管道吗?我可以重复使用吗?

【问题讨论】:

标签: github azure-devops azure-pipelines


【解决方案1】:

我最终得到了以下构建配置:

trigger:
- master
- release

# All the other YAML stuff

- task: PublishGitHubRelease@0
  inputs:
    applicationName: 'TheApplication'
    gitSourceOption: 'github'
    token: '$(GitHubPAT)'
    repo: 'TheRepository'
    owner: 'TheOwner'
    tagName: 'v$(build.buildNumber)'
    releaseName: 'v$(build.buildNumber)'
    draft: false
    prerelease: false
    assetsPattern: '$(Build.SourcesDirectory)/*'
  displayName: 'Create GitHub release'
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/release'))

现在我有两个不同的分支:masterrelease。两个分支都会触发构建配置,但最终任务 PublishGitHubRelease 将仅针对 release 分支执行。最后一行condition: 负责。对于一个版本,我正在做一个从masterrelease 的快进合并。

这不是我最喜欢的解决方案,但现在还可以。

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2019-04-29
    • 2022-12-05
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多