Infrastructure as code , at high level is how you can configure and manage your infrastructure the same way that you would manage your application code .It leverages the concepts of continuous integration and deployment to update or provision your environment based on the changes made to the code. In Azure you can leverage ARM template , which is essentially a json file to implement this concept.
In this blog series we will explore the concepts of Infrastructure as a code deployment for Azure environments using ARM templates. The Continuous Integration and Deployment pipeline leverages VSTS for build and deployment and the source code repository will be Git. The code in this case is the ARM template json file and the related parameter files. The following blog gives a nice explanation on how to get started with VSTS and integrate it with the Git repository :https://blog.kloud.com.au/2017/06/24/azure-build-pipeline-using-arm-templates-and-visual-studio-team-services/
We will be following an approach for Build and Deployment configuration that provides provide more control over the Release process.The build process will produce an artifact whenever a change is made and committed to the ARM template. The release pipeline will leverage this artifact and deploy it to target environments, which in effect creates/updates your Azure environment.
Let us start with the Build configuration
Build configuration
Create a new projects and a Build associated with it. Choose the "empty process" option to start with your build
Give a name for the Build and choose agent as hosted.
Add the following tasks in order from Tasks ->utility
Let's configure these tasks one by one
Copy files configuration:
In this step, the files from the build directory are copied over to a staging directory. The build directory could contain all relevant files required for your deployment, for eg the ARM json and dependent files .
Publishing artifacts configuration:
Here we are publishing the contents of the staging directory as artifacts of the build, which will be used by the release pipeline. Next step is to enable the trigger for continuous integration. Once the trigger is enabled, a build will start as soon as a code commit is made to the repository
Our build configuration is completed now and the required contents for deployment, ie the json file and the dependent files are produced as artifacts of the build configuration. If you make any edit in the source files and commit it, the build will be triggered. On successful completion of the build, you can see the artifacts in VSTS. In the build status page, select Artifacts. You can also start creating the release by clicking on the release option in the top pane
We will explore the release process to implement continuous deployment in part 2 of this blog...
PS: If you are interested in Cloud automation, please do check out my book on Azure Automation available in Amazon : https://www.amazon.com/Azure-Automation-Using-Model-Depth/dp/1484232186/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1513676067&sr=8-2
In this blog series we will explore the concepts of Infrastructure as a code deployment for Azure environments using ARM templates. The Continuous Integration and Deployment pipeline leverages VSTS for build and deployment and the source code repository will be Git. The code in this case is the ARM template json file and the related parameter files. The following blog gives a nice explanation on how to get started with VSTS and integrate it with the Git repository :https://blog.kloud.com.au/2017/06/24/azure-build-pipeline-using-arm-templates-and-visual-studio-team-services/
We will be following an approach for Build and Deployment configuration that provides provide more control over the Release process.The build process will produce an artifact whenever a change is made and committed to the ARM template. The release pipeline will leverage this artifact and deploy it to target environments, which in effect creates/updates your Azure environment.
Let us start with the Build configuration
Build configuration
Create a new projects and a Build associated with it. Choose the "empty process" option to start with your build
Add the following tasks in order from Tasks ->utility
Let's configure these tasks one by one
Copy files configuration:
In this step, the files from the build directory are copied over to a staging directory. The build directory could contain all relevant files required for your deployment, for eg the ARM json and dependent files .
Publishing artifacts configuration:
Here we are publishing the contents of the staging directory as artifacts of the build, which will be used by the release pipeline. Next step is to enable the trigger for continuous integration. Once the trigger is enabled, a build will start as soon as a code commit is made to the repository
Our build configuration is completed now and the required contents for deployment, ie the json file and the dependent files are produced as artifacts of the build configuration. If you make any edit in the source files and commit it, the build will be triggered. On successful completion of the build, you can see the artifacts in VSTS. In the build status page, select Artifacts. You can also start creating the release by clicking on the release option in the top pane
We will explore the release process to implement continuous deployment in part 2 of this blog...
PS: If you are interested in Cloud automation, please do check out my book on Azure Automation available in Amazon : https://www.amazon.com/Azure-Automation-Using-Model-Depth/dp/1484232186/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1513676067&sr=8-2
Comments
Post a Comment