Azure DevOps Pipelines
Hi guys, welcome to project 2 of the DevOps mini projects series. In this post, we will build a project on Azure DevOps pipelines.
To begin with, what is a pipeline?
A pipeline is a series of jobs or activities that run parallel or in sequence. What kind of jobs and activities? It could be anything. You can have a job that runs a Java script or a job that spins up virtual machines using Terraform.
Azure provides a devops platform where you can build your pipelines using yaml. Yaml is a human readable key value language.
I'd definitely recommend learning yaml before jumping into the deep waters of pipelines. Anyways, in Azure DevOps we build two kinds of pipelines. The first is the build pipeline which you can use for development and testing, and then the release pipeline for pushing your build artifact to production.
What's an artifact? Let's take the example of a Java job that running on your pipeline, once it executes it gets complied and converted to machine readable code or bytecode. When you plan to release it in production, you don't have to rerun the Java file again. Instead, you can deploy the bytecode, also known as an artifact.
Now that we are clear on pipelines, here are the requirements of the pipeline we shall build.
What do we want to achieve?
I want to create a pipeline that does 2 things, it stops virtual machines running in an resource group using terraform and second, it starts a web app.
Note: you can build any 2 jobs of your choice, I've chosen simple one's.
When do we want to achieve this?
Tomorrow is 17th March and I want it by 21st March. Since we are doing weekly mini projects here!
What skills will you gain by doing this mini project?
Yaml, terraform, Azure devops pipelines set up configuration, understanding of service connections and git, etc
How will it help you in your career?
If you are at a junior or mid level, you need to know that senior roles in any tech company be it an organization or a start up, focus a lot on design. This mini project will get you thinking about setting up an automatic workflow to make your deliverables quicker and error free.
Finally, I'd love to see your mini projects so comment down below and I will post the code here soon.
Happy Coding,
Shreya Sinha