My client is using TFS 2018 as their CI/CD tool. I know you can use TFS to deploy ARM templates to Azure but I've never done it before. I usually just use the portal or powershell. I know I need to create a pipeline to perform the deployment but I've got a few other questions I'm confused on:
- Is a build and release pipeline (both) required with the ARM templates if the infrastructure is not changing (or hardly ever)? I was under the impression most people use the build pipeline to verify the template or their code and then the release is to deploy to azure or wherever.
- Can I use one single ARM template which contains all of my resources for the deployment, or do I have to deploy individual templates (ASP, then web app, then storage account, then Redis)?
- A resource group is required before I deploy anything. Can I include the resource group creation step in an ARM template with everything else (RG + all resources in one template), or would I need a template for the RG and then the other template(s)?
- If their are multiple environments (dev, test, prod) do I need multiple build/release pipelines for each environment or is it possible to configure one pipeline that points to each env? The resources in each env would have different naming conventions so im not sure how that would impact things other than having to update the values in the ARM templates.
I would appreciate any advice/suggestions in regards to my questions above, thanks!