Microsoft Azure DevOps is a comprehensive and easy to use continuous integration and continuous deployment tool. Offered by Microsoft, Azure DevOps offers an array of powerful features that will monitor and manage your entire CI/CD pipeline from a central dashboard. Starting with the customizable workflows and Active Directory integration, and continuing to the extensible marketplace and a smooth cloud and on-premise migration. Azure allows you to efficiently build and deploy your enterprise stack. The wide array of tools include Azure Boards, Azure Repos, Azure, Pipelines, Azure Test Plans, and Azure Artifacts. The tool has everything your DevOps teams need for their software development projects.
An Overview of Azure DevOps
Azure DevOps is a Microsoft product that enables you to collaborate and orchestrate DevOps projects right through the entire life cycle of products. Formerly known as Visual Studio Team Services (VSTS). It is a cloud-based offering so you don’t have to install the software or configure settings. Azure comes tightly integrated with .NET IDE, Visual Studio, and Eclipse. Using this single tool, you can manage the entire application life cycle.
The tool is pretty simple to use. There is a minimal to zero learning curve and the intuitive dashboard is self-explanatory. Integrating Git repositories with the tool is easy. Built-in CI/CD features and customizable workflows make your job easy. it is highly extensible wherein you can add extensions such as SonarCloud and Slack. As it comes tightly integrated with Microsoft products, it facilitates seamless collaboration between various processes across the infrastructure.
Microsoft Azure DevOps is platform-agnostic and language-agnostic. As such, you can manage your CI/CD environments using a variety of languages such as Ruby, PHP, .NET, Node.js, C/C++, and Python. You can also work with Android and iOS apps. It supports Windows, Linux, and macOS platforms. You can push images to Docker Hub or Azure Container Registry and use Kubernetes or individual hosts for deployment. It allows you to work with AWS, GCP, and Azure clouds. The community support is excellent. Microsoft offers quick support. The community is pretty active as well.
Here are some of the important features of Azure DevOps:
Azure Boards – Azure Boards offer an easy way to comprehensively trace work with Kanban boards and team dashboards. Using flexible work item tracing and sprint planning, you can track all your work across different teams.
Azure Repos – Azure Repos work as your centralized version control system allowing you to review code and perform version control functionality. It supports the Git repository and Team Foundation Version Control System (TFVC).
Azure Pipelines – These enable you to easily automate and manage CI/CD tasks right from build, test, and deploy using any programming language or platform.
Azure Test Plans – Allow you to run manual and automated tests using various testing tools to deliver quality software faster.
Azure Artifacts – Gives you the ability to add packages to your CI/CD pipelines or share them with your team.
Azure Marketplace – The Azure marketplace offers access to 1000s of community-built apps and services.
Getting Started with Microsoft Azure DevOps
Being a cloud-based tool, Azure DevOps eliminates the need to download software or configure settings.
Here are the steps to getting started with the tool:
Step 1: Sign up with Github
To work with the CI server, you need a version control system. Visit this link to create a free account in Github:
Provide your basic details and create a free account. After successfully verifying the email, log in to your account.
Now, click on ‘New’ to create a new repository.
Provide a repo name and description and create the repository.
Step 2: Download Selenium Server
Selenium is a powerful browser automation tool. To download Selenium Server, visit this link:
https://www.selenium.dev/downloads/
The latest version is 3.141.59. Download the Jar file and save it on your machine.
Step 3: Install Eclipse
To write and push code to the VCS, you need an IDE. Visit this link to download and install Eclipse IDE.
https://www.eclipse.org/downloads/
Download the exe file and install the IDE. After the IDE is installed, open Eclipse.
Step 4: Install TestNG
Using TestNG, you can run a wide range of automated tests. To install TestNG, open Eclipse and go to Help -> Eclipse MarketPlace. Search for ‘TestNG’ and install the plugin.
Step 5: Create a Project
Open Eclipse and create a new project (eg: ExperitestProject) and create a class (eg: ExperitestSearch) and add the following code to the class.
package ExperitestProject; import org.openqa.selenium.*; import org.openqa.selenium.remote.BrowserType; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.net.URL; public class ExperitestSearch { private static final String ACCESS_KEY = "Enter your access key here"; private RemoteWebDriver driver; private URL url; private DesiredCapabilities dc = new DesiredCapabilities(); @BeforeMethod public void setUp() throws Exception { url = new URL("https://cloud.seetest.io/wd/hub"); dc.setCapability(CapabilityType.BROWSER_NAME, BrowserType.CHROME); dc.setCapability(CapabilityType.PLATFORM, Platform.ANY); dc.setCapability("accessKey", ACCESS_KEY); dc.setCapability("testName", "Quick Start Chrome Browser Demo"); driver = new RemoteWebDriver(url, dc); } @Test public void browserTestGoogleSearch() { driver.get("https://www.google.com"); new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.name("q"))); WebElement searchBar = driver.findElement(By.name("q")); searchBar.click(); searchBar.sendKeys("Experitest"); searchBar.sendKeys(Keys.ENTER); } @AfterMethod public void tearDown() { System.out.println("Report URL: "+ driver.getCapabilities().getCapability("reportUrl")); driver.quit(); } }
Right-click on the project and go to Build Path. Click on ‘Add external jars’ and add the Selenium Server Jar file. Similarly, click on ‘Add Library’ and add TestNG.
Now, the test script is ready. This test script logins to the SeeTest cloud platform and opens the Google Chrome browser and searches for the keyword ‘Experitest’ and closes the browser.
So, run the test script. It successfully passes the test.
Step 6: Commit code to Github Repo
Once the code is successfully run, you can push it to your Github repository. To do so, right-click on the project and click on Team -> Share Project.
Provide the repo URL, username and password and connect it with the Github repo. Now you can see different push options.
Click on ‘Commit’ and push the code to the Github repo.
Step 7: Create an Azure DevOps Account
Now that the prerequisites are met, you can start working with Azure DevOps.
To get started with Microsoft Azure, visit this link:
https://azure.microsoft.com/en-us/services/devops/pipelines/
You can create a free account or use your existing Github account to get started with the Azure CI server.
Click on the ‘Start free with Github’ link.
Enter your Github username and password and click on Sign in’. On the next screen, you need to authorize Azure to access your Github repos.
To complete the signup, provide a few more details such as your name, location, and email address on the next screen.
Click continue on the next screen.
Now, you’ll be taken to the Azure DevOps organization.
Now, you have successfully created your account on the Microsoft Azure CI server. So, you can start working on your CI/CD projects.
Working with Azure CI Server
To begin, create a new project. Give a name to the project (eg: ExperitestAzure) and choose public or private.
Now, you can see the Azure dashboard. You can start working with boards, repos, pipelines, and test plans.
Let’s start working on repos. Click on Repos
Now, click on Import under ‘import a repository’.
Enter the Github repository URL and click import.
Now, you can see that the repo is listed in your project.
Now, click on Set Up Build to start a build process.
On the next screen, you can choose a starter pipeline that comes with a minimal pipeline or go with an existing Azure Pipelines YAML file.
For this demo, click on the starter pipeline.
You can see the basic pipeline configuration file (YAML).
Now, click on ‘Save and run’.
It will commit the Azure YAML file to the repository.
Now, the build process will begin.
You can see that the build process is successful. When you click on view changes, you can see the commits made to the repository.
So, you can run your test scripts, add more tasks to the pipeline, and manage the entire CI/CD environment easily from this intuitive dashboard.
Managing your Deployments
With Microsoft Azure, it is easy to manage your deployments too. To do so, click on Pipelines.
Click on Environments.
Click on the ‘Add resource’ and create your first environment.
Now, select the type of resource (Kubernetes/VM). To use Kubernetes or VMs, you need to have a subscription.
Select ‘Virtual Machine’.
On the next screen, select the provider and the operating system. The tool will generate the registration script. Copy the script to the clipboard and close it.
Now, open the Windows Run dialog box and type ‘ PowerShell’.
This command will open the PowerShell window.
Now, right-click on the PowerShell window and the registration script gets copied onto it.
Now, run the script by pressing the Enter key. it will create a directory agent in the C directory.
The deployment environment is successfully created.
Now, you can run your builds and deploy them to this environment.
Microsoft Azure Summary
To conclude, Azure DevOps is a comprehensive CI/CD tool to efficiently manage your build, test, and deploy tasks. With the CI/CD built-in functionality, it allows you to quickly get started with your project while being able to easily monitor and manage the entire DevOps pipeline from a single dashboard. Windows GUI tools are easy to work with since it is the tool most users are familiar with. With all the required features packed into a single tool, Microsoft Azure enables you to optimize CI/CD environments while delivering better software faster.
SeeTest is a powerful test automation cloud platform that offers a wide range of browsers and devices that run a variety of test scripts. When you combine SeeTest with Azure DevOps, you will get the best of both worlds.
Are you ready to scale your enterprise?
Explore
What's New In The World of Digital.ai
100% Test Automation Might Be Desirable, But Is It Practical?
Discover the challenges and value of test automation in achieving 100% coverage for continuous testing. Find the right balance for effective software development.
Digital.ai Continuous Testing, Now Supports Testing on iOS 17 (Beta) Devices
Digital.ai Continuous Testing is the first to support a new operating system version. iOS 17 (Beta) has been released – Discover the new features and see how it works with a demo below.
Ensuring Quality: Digital.ai Continuous Testing Honored with a DevOps Dozen Award
Digital.ai Continuous Testing wins Best Testing Service/Tool at the DevOps Dozen Awards 2022, recognizing their exceptional code quality assurance and innovation.