I just started setting Azure DevOps with CI/CD. This might not be possible but I hope to find answers.
I have a solution with 6 projects:
Before I start searching on how to publish the Web Api, Website, and Node.js projects to their own Azure App Service within the CI/CD definitions:
Is it possible to set it up so that only certain projects are deployed? i.e.: the Node.js project is published only or only the Web Api and Website are published but not the Node.js.
Or do I need to keep things in different solutions?
If I keep them in separate solutions, how does this affect the shared projects (Infrastructure, Repo, and Models) in reference to Source Control (Git)? If I add code to the Models and Repo in the Web Api solution, do I commit these changes not he Web Api Git repo? How does this affect the other projects that reference the same Models and Repo projects? Is this where Git submodules come into play?
Update 1 (2019/3/8)
Looks like I might be able to get this working in 1 solution using Path filters (https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops). Still interested in any further input.
Hoping this helps others:
I solved this by using Path filters on the Build
definition and it works flawlessly. I have created 1 build definition per project that needs to live or be hosted somewhere (in my example, I have 3 Build
definitions: Web Api, Website, Node.js).
With the proper path to the project in the Path filter only the proper Builds
spin up, and any projects untouched do not trigger a build. Each build has it's own release
which then deploys the specified app to it's own destination.