Part 1: Integrating UiPath Code to Azure DevOps Repo
In Part 1 of our 3-part series, we ask The Eclair Group’s RPA Architect, Jay Mandora, to go into some detail about Azure DevOps and explain how it can be integrated into UiPath.
Over the next three articles, we’ll also look at how to introduce Agile Methodology for UiPath/DevOps and also how-to setup code reviews and Continuous integration/Continuous delivery within UiPath/Azure DevOps.
Cloud computing is a powerful tool for any organisation. It has revolutionised the way we design software, expand our capabilities, and save costs all at the same time. It has removed physical restrictions of holding and hosting hardware onsite and allows developers to focus on developing without worrying if they will run out of space or lose versions of releases.
Cloud Computing isn't just about storage and saving space however, it also allows us to use tools such as Azure DevOps which allow collaboration between developers and smooth development cycles. Integrating your Cloud Computing systems with your RPA Platform will ensure you continue to achieve your goals while leveraging the benefits of the cloud.
First of all, we’ll kick-off with some general information and definitions:
So, what is DevOps and why incorporate into your RPA development approach?
DevOps is a set of exercises that integrate software development (Dev) and IT operations (Ops). Its goal is to minimize the systems development life cycle and provide continuous delivery with high product quality. DevOps is part of the Agile Product Delivery cycle of the Lean Enterprise.
What are the benefits of a DevOps approach?
Improve deployment frequency
Improve Product quality code review
Lower failure rate of new releases
Shorten lead time between fixes
Improve mean time to recovery
Maintaining the system stability and reliability
Why is a DevOps approach important?
According to DORA (DevOps Research and Assessment), research on high performance in the fields of software development companies has discovered the below factors that accelerate the development cycle. Specifically, the report found that organizations utilising DevOps:
Executed 208-fold increase in the number of code arrangements
Decreased lead times, from commit to deploy, up to 106 times faster
Reported Change Failure Rates that were 7 times lower
Recovered from change failures 2,604 times faster
(Image provided courtesy of Google Cloud.)
What is Azure?
Microsoft Azure is Microsoft's public cloud computing platform. It provides various cloud services, including computing, analytics, storage, and networking. Users can pick and choose from these services to develop and scale new applications or run existing applications in the public cloud.
What is Azure DevOps?
Azure DevOps is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application software lifecycle, and enables DevOps capabilities.
What is UiPath?
UiPath is a leading Robotic Process Automation (RPA) vendor providing a complete software platform to help organizations efficiently automate business processes.
What are the Azure DevOps Services?
1 – Azure Pipelines
Pipelines is a cloud service that can be used to automatically build and test code project and make it available to other users. It combines continuous integration (CI) and continuous delivery (CD) to constantly and consistently test and build your code.
2 – Azure Boards
This is a powerful feature that helps to track backlogs, team dashboards within Kanban boards. It can also provide custom reporting.
3 – Azure Artifacts
Artifacts is a package management solution which integrated into Azure DevOps. This allows you to create and share Maven, npm, and Nuget packages via feeds which both can be public or private to an organisation with teams of any size.
4 – Azure Repos
Repos is a cloud-hosted private Git version control tool that allows you to manage project code. It incorporates version control to save your work and collaborate code changes across your team. Even on small project, version control helps your team to stay well organised on bug fixes and develop new features.
5 – Azure DevOps Test
DevOps Test is an Azure DevOps feature which provides all the tools you need to successfully test applications. It can create and run manual test plans, generate the automated tests, and receive feedback details directly from the teams within the organisation.
What is the difference between Continuous Integration and Continuous Development?
Continuous integration (CI)
Increase code coverage
Build faster by splitting test and build runs
Automatically ensure you don't ship broken code
Run tests continually.
Continuous delivery (CD)
Automatically deploy code to production
Ensure deployment targets have latest code
Use tested code from CI process.
Architectural overview of UiPath/Azure DevOps for your RPA development
The below diagram is our end goal. Now let’s look at putting it all together.
(UiPath/Azure DevOps High level Architecture)
Step by step guide to deploying UI Path code to Azure DevOps as part of an RPA Centre of Excellence
Step 1: Download and Install the Below Software
1.KDIFF3 : is a diff and merge program that. It compares or merges two or three text input files or directories, highlighting the differences line by line and character by character.
2. GIT : is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
3. GIT Extensions : is a graphical user interface for Git that allows you to control Git without using the command line.
You should install the above software in the order listed and take care to select the defaults each time. You don’t need to read any readme files or run the applications at the end of the install.
Step 2: Find the Code Repository
Click “Files” (This is the default, so you may not need to do this).
Make sure you are in the right repo using the dropdown.
Select your repo from the list.
Step 3: Get the Azure Repo Git URL
Click on the Clone label
Copy the HTTPS or SSH Repo URL
Step 4: Clone Repo Using Git Extension
1. Open Git Extensions
2. Click on the Clone repository
Step 5: Configure Repo Using Git Extension
Paste into the “Repository to clone”
Browse and set the “Destination” to a folder called “git” on your computer
Click on Clone Button
Next article in Part 2:
We look at Introducing the Agile Methodology to UiPath/Azure DevOps.
If you have any questions on implementing UiPath/Azure DevOps or generally how you leverage the benefits of intelligent automation for your organisation, feel free to reach out to firstname.lastname@example.org for a no-strings workshop tailored for your company.
Eclair will work with you to understand your ambition and deliver a tailored solution that fits your scale and budget.