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

Dev*_*evX 10 azure-devops azure-pipelines-build-task azure-pipelines azure-pipelines-release-pipeline

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

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

Cha*_*daC 9

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

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

当前的神器

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

发布Web部署包

这将为您提供如下所示的输出. 两件文物

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


Ram*_*Ram 7

如果您在构建管道中使用“.net core”任务,请取消选中命令文本框后面的“发布 Web 项目”复选框。

然后,它会自动为解决方案中的每个项目单独创建发布工件,并与每个项目文件同名。