As kids, we’ve always been taught to work in teams. We’ve also been taught to work smarter rather than harder. Do we put these lessons into practice as we grow? Well, DevOps culture definitely used these lessons to its fullest. In this article about Azure DevOps, we’re going to learn how these old school lessons come in handy.
- What is DevOps?
- What is Azure?
- What is Azure DevOps?
- Components of Azure DevOps
- Demo: Create and demonstrate the working of Azure Pipeline
What is DevOps?
Let’s take the example of baking. Suppose you want to make brownies. You have different ingredients, each of them contributing to the brownie’s taste. You must use different tools like the oven, stove, etc. You have the recipe which should be followed step by step. Without either of these things, you wouldn’t even be close to making brownies.
Let’s compare this with the software development process. Your ingredients represent different teams like Development, Operations, Testing, etc. Baking tools symbolize different DevOps tools like Git, Jenkins, Docker, etc which makes the process easier. The recipe symbolizes the process of the software development which should be followed step by step to get the best results.
DevOps is a collaborative approach to developing and deploying software. It brings together the Development team (Dev) and the Operations team (Ops) to cooperate and work together making the entire software development process faster and efficient.
What is Azure?
Microsoft Azure is a cloud computing platform created by Microsoft. It provides various services which are easily accessible. In addition to easy accessibility, the number of resources can be dynamically scaled.
What are these services? So basically when you try to build an application and expose it on the internet for people to use, you need way more things than you’ve imagined. You need servers, virtual machines, storage facility, databases, and a full-fledged infrastructure. Now instead of creating them from scratch or spending a ton on buying them, what if you could borrow them? Services are basically these requirements that you need which can be rented from cloud service providers like Azure.
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
What is Azure DevOps?
A company called DORA(DevOps Research and Assessment), researches on high performance in the context of software companies. It discovers the factors that fuel it and has come up with the following report(2018) about companies using DevOps:
- 46x Higher Deployment Frequency
- Faster time to market
- 7x Lower Change Failure Rate
- 2,555x Faster Lead time for changes
- Increased Revenue
- 2,604x Faster mean time to recover
Microsoft Azure came up with a new product called Azure DevOps which can certainly help any organization achieve the above-mentioned stats. As you know, DevOps is the union of people, process and products. Obviously, Microsoft is not going to provide you people and the process but it certainly can provide the products. Azure allows you to implement DevOps practices so that you gain more confidence in your deployment pipeline and keep you prepared for a wide variety of scenarios.
Azure DevOps Components
Azure DevOps consists of 5 main components:
Azure Boards lets you track your work with configurable boards, interactive backlogs, and powerful planning tools. It lets you track all your ideas at every development stage and keeps your team synced with all the code changes. It keeps you forever scrum ready. It also helps you get a good insight into the health and status of your project with amazing analytical tools.
This is a widely used tool. Azure pipeline lets you build, test, and deploy in any language, on any platform or to any cloud. Even though its called Azure Pipeline, it actually lets you deploy anywhere you wish, be it AWS, GCP, Raspberry Pi or even your own platform. It supports containers and easy integration with containerization platforms like Kubernetes. One of the most vibrant features about Azure pipeline is that if you are working on an open source or a public project from GitHub or anywhere for a matter of fact, it gives you free builds, tests, and releases.
I’m going to show you a demonstration on the working of this Azure Pipeline further in this blog.
Gives you flexible, powerful, Git hosting with amazing code reviews and unlimited free repositories for all your ideas. Lets you connect with any IDE, Git client or an editor. Supports Web Hooks and API Integration. Also gives a cool feature of semantic code search as it understands variables and classes.
Provides a wide variety of manual and exploratory testing tools. It lets you test your application on desktops or web apps. It captures data while you execute tests to make the defects actionable. This helps in making releases faster and with confidence.
Azure Artifacts lets you share Maven, NuGet and Python packages from public and private sources with the entire team. It lets you integrate packages with your CI/CD pipeline in the most efficient, scalable and simple way. Lets you keep your packages safe and secure.
Demo: Create and demonstrate the working of Azure Pipeline
In this section, I’m going to show you how to create an Azure pipeline and use it for CI/CD. Just follow these steps:
Step 1: Create an Azure DevOps Organization. To do so visit the official Azure DevOps website and click on New Organization.
Add the organization name and the region you’d want your project to be in. In this case, I’ve named the organization Kalgi and region South India.
Step 2: Once you’ve created an organization, you’ll be prompted to create a project. Enter your Project Name. The description will include a small description of the project. There are two kinds of projects you can create, one that is visible to everybody(public) and the other one which is not visible to everybody(private). In a private project, you can add people who can view or make changes to your project. In this case, I’ve created a private project. Once you’ve filled all the details, click on Create.
Step 3: Let’s get started by creating a pipeline. You’ll be directed to your project directory. You’ll have the option of creating Boards, Repos, Pipelines, Test Plans or Artifacts. Click on Pipelines.
Then click on New Pipeline.
You’ll be asked where your code is. In my case, It’s stored on GitHub and hence I select GitHub. You can select accordingly.
You’ll then be prompted to insert your GitHub password. Enter the password and click on the Confirm password. You are now connected to your GitHub account.
You’ll then be prompted to Authorize AzurePipeline. Just click on Authorize AzurePipeline.
Select the GitHub repository you’d like to use for the project. For this demonstration purpose, I’ve forked Microsoft’s sample repository called pipelines-python-django and will be using that in this Azure Pipeline demo.
Check Only Select Repositories and click on Approve and Install.
Finally, click on Authorize Azure Pipeline with Microsoft
Review the pipeline and click on Run.
When you run the Pipeline, you’ll start seeing the logs of different jobs being performed.
Once the agent is ready, the jobs will start getting executed and you’ll see their status(success or failure).
You’ll see something similar to the below-displayed screenshot once all your jobs have been executed.
Now when you go to pipelines, you’ll see the pipeline you just built. It also shows the build status.
Now let’s go ahead and edit the code and see if the changes are reflected in the pipeline. Make changes to your code according to yours or the organization’s requirement. In this case, I’ve made changes to the README file.
Save the changes by clicking on Commit Changes.
You can now check your pipeline and it will show an update in the README.md file.
That’s how CI/CD Pipelines work and I personally feel Microsoft Azure has done an amazing job at this service.
This brings us to the end of this article. For more such blogs, visit Edureka Blog.
If you wish to learn more about Cloud Computing and build a career in Cloud Computing, then check out our Cloud Computing Courses which comes with instructor-led live training and real-life project experience. This training will help you understand Cloud Computing in depth and help you achieve mastery over the subject.
Got a doubt? Please mention it in the comments section or post it on Edureka Community and we will get back to you. At Edureka Community we have more than 1,00,000+ tech-fanatics ready to help.