如何从VSTS CI管道为解决方案中的每个项目单独发布工件?

问题描述 投票:3回答:2

在我的解决方案中,我有两个项目(Asp.net MVC和Windows服务)。我想创建CI / CD管道以在不同的VM上部署Web应用程序和Windows服务。但要实现这一点,我的CI管道应该能够为两个项目单独发布工件,然后我可以在CD管道中提供这些工件以进行部署。所有项目的工件如何在CI管道中单独发布?

PS:如果我创建两个解决方案,每个解决方案只有一个项目并分别创建CI / CD管道,一切正常。但我想通过上面提到的具有多个项目的解决方案来实现它。

azure-devops azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task
2个回答
5
投票

您可以使用多个“发布”任务在单个构建定义中创建多个工件。

例如,您可以说,您在下面,作为单个项目的当前工件,包括_PublishedWebsites \ MVS5WebApp(XCopy可部署网站)和_PublishedWebsites \ MVS5WebApp_Package(Web部署包)。

Current Artifact

如果要将这两者分成两个工件,可以使用两个Publish Artifact任务,如下所示,每个任务指定要发布的确切路径(此路径不支持通配符,您只需指定需要发布的文件夹) Publish website XCopy deploy content

Publish Web Deploy Package

这将为您提供如下所示的输出。 Two Artifacts

在这个例子中,我只使用了Publish Artifacts任务,并使用一个网站项目创建了两个工件。您可以为两个项目方案执行相同操作。如果要在发布之前使用通配符过滤更多文件,可以根据需要多次使用“复制文件”任务。


0
投票

您有多种方法可以实现这一目标。 您可以创建针对项目的多个构建定义,而不是使用正确的参数构建步骤中的解决方案。 或者,您可以拥有一个包含多个构建步骤的构建定义。 在发布方面,您可以利用一个版本定义,包含多个步骤或多个版本定义。

© www.soinside.com 2019 - 2024. All rights reserved.