Let’s assume a scenario in which you are repeating a few tasks from your pipeline into multiple stages and/or pipelines or projects. In that case, it gets really tiring to repeat and configure each task individually over and over again. Azure DevOps provides the feature of Task Group in which we can encapsulate a sequence of tasks from our build or release pipelines and reuse those tasks in other pipelines.
What is Azure DevOps?
Now, let’s talk about Azure DevOps, it is a mixture of the simplest technologies and best practices. Therefore we can go as far as saying that it is the Next Big Thing in the IT Industry. Azure DevOps is a Software as a service (SaaS) platform from Microsoft providing an end-to-end DevOps toolchain for developing and deploying software. Microsoft launched this as they understood the fact that DevOps has become vital to a team’s success.
A task group facilitates the encapsulation of a sequence of tasks, defined already in a build or a release pipeline, into a single reusable task that can be added to a build or release pipeline (like any other task). We can, as per our choice, extract parameters from the encapsulated tasks as configuration variables, and abstract the rest of the task information.
The new task group is automatically added to the task catalog, ready to be added to other releases and build pipelines. At the project level, the task groups are stored and are not accessible outside the project scope.
DevOps Security or DevSecOps is a set of practices and tools that bring together software development (Dev), IT operations (Ops), and security (Sec) to increase an organization’s ability to deliver applications and services securely. DevOps presents new risks that create security challenges that cannot typically be addressed by conventional security management solutions and practices. One of the prominent security challenges in DevOps environments is privileged access management. DevOps processes require human and machine privileged credentials which are quite powerful and highly susceptible to cyber-attacks. So strong security practices should be inserted throughout the application lifecycle to reduce vulnerabilities, improve security posture and mitigate risk.
Azure DevOps is an integrated service provided by Azure. In recent times, it is observed that Azure DevOps is increasing its penetration into the DevOps community. Being a SaaS service, it doesn’t come with a pre-configured host or better say, an agent to execute its commands. That’s why whenever we want to use our Azure DevOps Pipeline we need to have an agent configured in our Agent Pool. In this blog, we will learn how to configure an agent and later on how to create a service for our host.
Let’s Get Started
Configuring a self-hosted Agent might seem complicated but by following the below steps we can easily configure an agent in our Agent Pool. So let’s get started.
What is Azure DevOps?
Now, let’s talk about Azure DevOps, it is a mixture of the simplest of technology and therefore the application of best practices. We can say, it is the Next Big Thing in the IT Industry. Azure DevOps is a Software as a service (SaaS) platform from Microsoft that provides an end-to-end DevOps toolchain for developing and deploying software. Microsoft recently launched this as they understand that DevOps has become vital to a team’s success.
Azure Self-hosted Agent
An agent that you set up and manage on your own to run jobs is a self-hosted agent. Though we can use a Microsoft Hosted Agent, we prefer a self-hosted Agent. This is to have more control to install dependent software needed for our builds and deployments, machine-level caches and configuration persist from run to run, boosting speed and maintaining the backup of our logs. You can use self-hosted agents in Azure Pipelines or Azure DevOps Server, formerly named Team Foundation Server (TFS). To successfully configure a self-hosted Agent we need an Agent Pool, download & unzip the package, Personal Access Token (PAT) and execute a few shell commands. Let’s move step by step.
Redash is a very popular data analytics tool that is used to visualize, explore, and query data from multiple data sources. It also provides SAML based authentication option which can be used to set up Single Sign-in [SSO] with different kinds of SAML based options. It gives flexibility to Setup SAML Based Authentication Redash because unlike Azure Active directory, there are lots of software tools that support and provide SAML support. Azure active directory also provides Azure AD SAML Toolkit option, which organizations can utilize to create SAML based authentication with Redash.
Azure Active Directory Setup
Step 1: Click on the Left top bar to get a List of options provided by Microsoft Azure.
Step 2: Click on Azure Active Directory
Step 3: Once you get all the options, Under the Manage section, you will see Enterprise applications, Click on Enterprise applications
In simple words, SonarQube is an open-source tool for continuous inspection of code quality. It does static code analysis, provides a detailed report of bugs, code smells, vulnerabilities and code duplications.
SonarQube integration with Azure DevOps
We can utilize built-in Azure DevOps tasks for SonarQube which helps us to incorporate this tool into our CI/CD pipelines. We will learn that with a use case.