如何在 Azure devops 中设置构建管道 [关闭]

Posted

技术标签:

【中文标题】如何在 Azure devops 中设置构建管道 [关闭]【英文标题】:How to setup build pipeline in Azure dev ops [closed] 【发布时间】:2019-07-31 19:20:33 【问题描述】:

我正在尝试在 Azure 开发操作中设置我的构建和发布管道,以将我的 webforms 应用程序发布到我公司网络上的 VM 上的文件系统。目前,这是通过 Visual Studio 完成的,方法是转到 Build > Publish ...

我之前设置了一个构建管道,用于捕获构建问题。但现在我想在主分支更新时自动从云端发布构建。

我在本地 VM 上安装了一个代理,我可以让 Azure 开发人员在这个代理上运行,但我对下一步该怎么做有些困惑。我尝试过使用构建解决方案任务参数、MSBuild 任务参数等,但它实际上并没有发布它。

我得到的最远的是将构建发布到代理上的构建文件夹,但这仅包含解决方案和相关文件,而不是将发布到文件系统位置的构建输出。

我正在尝试了解如何在构建解决方案并将其放置在代理上后实际发布该解决方案。

我在所有默认任务都使用的构建变量上找不到非常好的资源,这也无济于事。

【问题讨论】:

你的问题有点太宽泛了。也许尝试通过guides 配置管道。您可能错过了publish your build artifacts 的步骤。 听起来您实际上并未构建解决方案,您的构建管道中有哪些任务?如果您查看可以为初学者构建解决方案的 MSBuild 或 VSBuild 任务docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/… Build 仅适用于编译。您要发布到哪个目标? IIS?还是其他?如果要将编译后的输出部署到本地虚拟机,首先需要与虚拟机建立连接,并配置一个阶段以完成发布管道中的部署。 【参考方案1】:

构建管道负责构建您的软件并在 Azure DevOps 中发布构建的工件(构建输出)以用于发布管道。发布管道负责将您的网站部署到测试/生产环境中。

首先,您需要确保您的构建正在发布管道的 azure devops 内发布工件(构建的输出)。这是通过使用发布工件任务来实现的。

发布路径是包含构建输出(复制到 VM 中的文件)的目录。您可以将相对路径与 artifactsstagingdirectory 一起使用。您可以将 drop 保留在工件名称中,因为这只是 zip 文件的名称,也可以在工件发布位置使用 Azure Pipelines。

现在您的构建正在为发布管道创建工件。您可以通过查看构建历史中的构建之一来验证这一点。右上角应包含工件:

如果它不存在,那么您的构建没有正确发布工件。查看构建日志了解更多详情!

现在,如果您在 VM 中运行 azure devops 代理,则部署是一件容易的事。

    使用 IIS Web App 管理任务停止 IIS 网站 使用复制文件任务将工件复制到所需文件夹(例如 c:\wwwroot)。 使用 IIS Web App 管理任务启动 IIS 网站

利用您已将构建链接到发布管道。当您第一次创建发布管道时。它将要求设置此设置。

【讨论】:

以上是关于如何在 Azure devops 中设置构建管道 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps 在构建任务中设置内部版本号变量

Azure DevOps - 使用参数在 yaml 管道定义中设置路径触发器

azure devops 构建管道将超时减少到 30 分钟

Azure Devops Pipeline YAML 中的 Git 标记名称

使用 Visual Studio 构建任务在 azure devops 中设置工作目录

在 Azure 管道中设置 conda 元数据的内部版本号