首页 > 解决方案 > 适用于 ASP .Net 的基本 Azure DevOps 流程

问题描述

我有一种在构建服务器(通常是 Jenkins)上构建和部署我的 asp .net 应用程序的标准工作方式。我有一个自定义构建脚本和发布配置文件,用于构建我的解决方案、复制一些文件并发布 Web 项目,所有这些都只需调用一次 MSBuild。

我正在尝试在 Azure DevOps 中重新创建它。我的第一个障碍似乎是构建和“发布”(或 DevOps 术语中的“发布”)是独立的步骤。但似乎我不需要“发布”?

所以

  1. 如何控制构建的“工件”文件夹中的内容?是通过 Azure 吗?我可以使用 .MSBuild 文件吗?和
  2. 我什至需要“发布”的概念还是发布步骤只是将所有工件复制到目标(在这种情况下为 VM)?我可以控制部署的内容吗?

我很难找到某种涵盖以这种方式部署的 asp .net 项目的基本教程。

标签: asp.netazure-devopsazure-pipelines

解决方案


如果您有可用的现有脚本,请使用那些 :)。新的 YAML 构建正在慢慢地从具有大量逻辑的功能齐全的 UI 任务转向执行所需操作的更简单的脚本。

尽管将构建与发布分开是一种常见的做法。这样,您就可以在发布阶段进行额外的检查、审查和批准。

在您的情况下,这意味着:

  • 构建阶段
    • 使用 MsBuild 以文件夹或 zip 文件的形式构建和创建发布包。
    • 使用 Publish Pipeline Artifact 任务存储此文件夹或 zip 文件
  • 发布阶段
    • 使用下载管道工件任务恢复要发布的文件
    • 可以选择使用 Infra as Code 工具来准备目标环境。
    • 使用 msdeploy.exe 或其他工具发布包。可以选择生成并传入设置文件以覆盖某些设置。

这样,您可以有多个发布阶段来生成测试环境、临时 POC 环境等,只需使用另一组变量和/或设置覆盖文件。

Azure Pipelines 中有一些特殊任务围绕着这些工具,并提供易于使用的 UI 和一些额外的逻辑。如果您不熟悉命令行工具,这些工具会非常有用。如果您确实知道如何绕过它们,那么可能没有充分的理由使用这些花哨的任务。


推荐阅读