通过Azure DevOps通过一个发布过程部署许多应用程序

时间:2020-01-06 18:49:30

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline octopus-deploy

我需要在Azure DevOps的相同环境中部署许多类似的应用程序。

共享和维护这些应用程序的发布过程有哪些方法....
避免在每个应用程序更改后都更新其发布过程?

背景

  1. 我有几十个具有类似相同发行流程的类似应用。
  2. 每个应用程序(在其自己的存储库中)都有自己的Azure管道。
  3. 我可以使用自定义解决方案来解决这个问题。

选项

  1. 为每个管道发布版本-不是粉丝!
    • CON:Azure似乎希望管道与发行版之间存在一对一的关系。
    • CON:我想不惜一切代价避免发布许多版本,因为更改几乎是无法维护的。
  2. 使用自定义舞台模板-无法满足我的需求

    • CON:发布不共享自定义舞台模板。

      您创建的自定义模板的范围仅限于创建它们的项目。[Azure Documentation]

    • CON:自定义场景模板无法更新(截至本文)。

      要更新舞台模板,请在发布管道中删除现有模板,然后将舞台另存为具有相同名称的模板。 [Azure Documentation]

  3. 将发布过程放入Pipeline .yml文件中-似乎可行,但是....

    • PRO:该过程将存储在共享的“公用”存储库中。
    • PRO:每个应用程序都将具有最小的Pipeline .yml文件,并在运行共享进程之前设置一些参数。
    • CON:我如何在没有发布门户UI的情况下跟踪和手动部署发布?我缺少什么了吗?
  4. 使用来自不同应用程序的工件触发相同的发行版-不确定是否可以使用....
    • PRO:一个发布过程,可以通过发布门户UI轻松跟踪和部署。
    • CON:我将如何跟踪不同应用的发布?我可以使用应用名称来命名Releases吗?
    • CON:我不知道如何设置它,因为Release与主要管道绑定在一起。

      在将工件源链接到发布管道时.... [Azure Documentation]

    • CON:尽管可以使用多个工件资源,但是Release需要默认的工件管道或源存储库。我需要以编程方式设置工件源吗?

      将多个工件源链接到发布管道时,其中一个被指定为主要工件源。主要工件资源用于设置许多预定义变量。也可以在命名发行版中使用。 [Azure Documentation]

  5. 使用多个工件资源和工件变量-不确定是否可以使用....

    当有多个工件源链接到发布管道时,您可以访问有关每个工件源的信息。 [Azure Documentation]

底线

我能够在Octopus Deploy中解决许多此类问题。但是,在查看如何将DevOps流程移至Azure DevOps时遇到了很大的麻烦。您将如何处理这种情况?

0 个答案:

没有答案