Microsoft Azure AZ 300 (3 Blogs)

Azure DevOps: New Approach To A Smart Development

Published on Jun 19,2019 406 Views
Kalgi Shah
Kalgi Shah works at Edureka as Research Analyst. Always curious about the... Kalgi Shah works at Edureka as Research Analyst. Always curious about the wonders of technology. Fields like Artificial Intelligence, DevOps, Data Analytics, Kubernetes attract...
Azure DevOps: New Approach To A Smart Development

MI-new-launch

myMock Interview Service for Real Tech Jobs

myMock-mobile-banner-bg

myMock Interview Service for Real Tech Jobs

  • Mock interview in latest tech domains i.e JAVA, AI, DEVOPS,etc
  • Get interviewed by leading tech experts
  • Real time assement report and video recording

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.

Topics covered:

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 can be considered as a union of People, Process and Product.

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:

  1. 46x Higher Deployment Frequency
  2. Faster time to market
  3. 7x Lower Change Failure Rate
  4. 2,555x Faster Lead time for changes
  5. Increased Revenue
  6. 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:

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.

Azure Pipeline:

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.

Azure Repos:

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.

Azure Test Plans:

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:

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.

new_org - Azure DevOps - Edureka

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.

create_org - Azure DevOps - Edureka

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.

create_pipeline1 - Azure DevOps - Edureka

Then click on New Pipeline.

create_pipeline2 - Azure DevOps - Edureka

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.

create_pipeline3 - Azure Pipeline - Edureka

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.

create_pipeline5 - Azure DevOps - Edureka

You’ll then be prompted to Authorize AzurePipeline. Just click on Authorize AzurePipeline.

create_pipeline4 - Azure DevOps - Edureka

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.

create_pipeline6 - Azure DevOps - Edureka

Check Only Select Repositories and click on Approve and Install.

create_pipeline7 - Azure DevOps - Edureka

Finally, click on Authorize Azure Pipeline with Microsoft

create_pipeline8 - Azure DevOps - Edureka

Review the pipeline and click on Run.

create_pipeline9 - Azure DevOps - Edureka

When you run the Pipeline, you’ll start seeing the logs of different jobs being performed.

run_pipeline1 - Azure DevOps - Edureka

Once the agent is ready, the jobs will start getting executed and you’ll see their status(success or failure).

run_pipeline2 - Azure DevOps - Edureka

You’ll see something similar to the below-displayed screenshot once all your jobs have been executed.

run_pipeline3 - Azure DevOps - Edureka

Now when you go to pipelines, you’ll see the pipeline you just built. It also shows the build status.

pipeline_created - Azure DevOps - Edureka

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.

change_code - Azure Pipeline - Edureka

Save the changes by clicking on Commit Changes.

change_code1 - Azure DevOps - Edureka

You can now check your pipeline and it will show an update in the README.md file.

updated_change - Azure DevOps - Edureka

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.

Comments
0 Comments

Browse Categories

Subscribe to our Newsletter, and get personalized recommendations.