【问题标题】:Azure DevOps - How to easily switch branches to use for multiple environmentsAzure DevOps - 如何轻松切换分支以用于多个环境
【发布时间】:2020-03-31 13:27:11
【问题描述】:

我有四个要部署到的环境。

我还有四个不同的代码分支,用于部署代码。

我们不断切换我们用于在这些环境中部署的分支。

有一次我想在我的测试环境中构建和部署一个每日分支。

稍后我想在同一个测试环境中构建和部署一个增强分支。

接下来我想在我的 test2 环境中构建和部署日常分支。

我想你明白了

我们目前正在使用手动过程从我们要部署的分支中提取,然后将其压缩并推送到 AWS 代码部署。

使用 Azure DevOps 管道并发布最简单的方法,让我可以在不同的环境中切换使用不同的分支。

我目前在 Azure DevOps 中有一个成功的设置,它执行 gradle 构建、创建工件,然后让我将其推送到我的一个环境中的 AWS CodeDeploy。在不创建大量 Azure 管道和版本的情况下,我似乎无法找到一种东向切换分支的方法。

谢谢大家!

【问题讨论】:

  • 您是否使用 Visual Studio 作为您的主要 IDE?
  • 刚刚通过 Azure DevOps
  • 您是否愿意并愿意使用 Visual Studio?如果是这样,它与 Azure DevOps 配合得非常好,切换分支、提交和推送代码,甚至合并分支都非常容易。
  • 我在开发运维方面,工程师们正在自己的一端进行提交。就我而言,我希望能够轻松选择一个分支并将其部署在我选择的任何环境中。

标签: azure-devops


【解决方案1】:

点击QueueRun Pipeline手动触发构建流水线,会弹出如下图所示的新窗口,可以切换分支。

如果你想自动部署不同的分支到不同的环境。您可以将构建工件推送到发布管道中的 AWS CodeDeploy 并设置分支过滤器。请参考以下步骤:

1,在构建管道中设置分支过滤器,如下图所示,它将构建选定的分支。有关触发器的更多信息,请查看here

2,创建一个release pipline 以将构建工件推送到 AWS CodeDeploy。

并设置工件过滤器,这将只允许从指定分支构建的工件部署到此阶段。

【讨论】:

  • 我将触发器设置为使用多个分支,但如果我对主分支进行更改,它只会运行/触发管道。我假设我不需要在每个分支中建立管道?我尝试将 yaml 设置为触发: - '*' 并尝试在管道编辑区域的“覆盖 YAML 持续集成触发器”部分的“触发器”部分中设置一些分支。它仅在我在 master 分支中进行更改时运行。
  • 只是为了确保:您的 yaml 构建文件是否存在于 git 存储库的每个分支中?我认为如果它只存在于 master 分支中可能还不够
  • 是的,如果您使用的是 yaml 管道。它必须存在于每个分支中
  • 嗨@Levi Lu-MSFT,您如何执行第二步:创建一个 AzureDevops 发布管道以将构建工件推送到 AWS CodeDeploy。我一直在尝试并没有找到任何相关信息。请帮帮我好吗?
【解决方案2】:

您可以使用队列时间变量来指定要在构建管道上使用的分支名称。您需要:

  1. 编辑您的构建管道并在“变量”选项卡上创建变量。确保标记“可在排队时设置”检查 variable creation

  2. 更新构建管道的源,以在“默认分支”选项下指定新变量。它看起来像这样: pipeline source

运行您的管道。在最后单击 RUN 之前,您将能够指定所需的分支: set variable value

希望这可行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 2021-01-15
    • 1970-01-01
    相关资源
    最近更新 更多