我刚刚开始使用CI / CD设置Azure DevOps。这可能无法实现,但我希望找到答案。
我有6个项目的解决方案:
在我开始搜索如何在CI / CD定义中将Web Api,Web站点和Node.js项目发布到他们自己的Azure App Service之前,
是否可以进行设置,以便仅部署某些项目?即:仅发布Node.js项目,或者仅发布Web Api和网站,而不发布Node.js。
还是我需要将事情保留在不同的解决方案中?
如果我将它们放在单独的解决方案中,那么这对源代码管理(Git)的共享项目(基础结构,存储库和模型)有何影响?如果我在Web Api解决方案中的“模型和存储库”中添加代码,我是否要提交这些更改而不是Web Api Git存储库?这对引用相同Models和Repo项目的其他项目有何影响?这是Git子模块起作用的地方吗?
更新1 (2019/3/8)
看起来我可以使用路径过滤器(https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops)在1个解决方案中实现此目的。仍对进一步的输入感兴趣。
答案 0 :(得分:0)
看我是否理解您的问题,您需要部署特定的内置零件 是的,您可以在天蓝色的DevOps中执行此操作。在Azure DevOps中,您具有生成定义和发布管道。 在构建中,您将构建项目并仅发布您提到的2个组件,而在发布中,您将部署它们 希望我回答了您的问题
答案 1 :(得分:0)
希望这对其他人有帮助
我通过在Build
定义中使用 Path filters 来解决了这个问题,它可以完美运行。我为每个需要在某个地方生活或托管的项目创建了1个构建定义(在我的示例中,我有3个Build
定义:Web Api,Website,Node.js)。
在路径过滤器中使用正确的项目路径,只有正确的Builds
旋转,并且任何未触及的项目都不会触发构建。每个构建都有自己的release
,然后将指定的应用程序部署到其自己的目的地。