Accelerating RPA: Unveiling CI/CD and DevOps in UiPath Development

Discover how CI/CD practices in UiPath expedite robot delivery and foster faster development cycles with streamlined processes and early issue resolution.

Unveiling CI/CD and DevOps in UiPath Development

DevOps is a way of working, a mindset, for an organization so that the new features reach the users as smoothly and quickly as possible.

CI/CD Pipeline Workflow Generally Consists of the Following Discrete Steps:

  • Phase 1: Commit – When developers complete a change, then they commit the change to the repository.
  • Phase 2: Build - Source code from the repository is integrated into a build.
  • Phase 3: Automate tests - Automated tests are run against the build. Test automation is a necessary element of any CI/CD pipeline.
  • Phase 4: Deploy - The build version is delivered to production.

CI/CD Pipeline Workflow

CI/CD in Context of RPA Tool UiPath

Even though many organizations have begun implementing a Digital Workforce into their business operations – only a few are fully in control of their RPA bots.

Very few COEs have implemented the CI/CD (Continuous Integration, Continuous Delivery) pipeline which allows you to automate your robot delivery process.

A classic pipeline for UiPath can be –

  1. The pipeline will begin the build from your version control system.
  2. The pipeline will also carry out the design of various assets, creating initial folders, config replacement, etc.
  3. Pipelines will publish the package to the Orchestrator.
  4. It can further incorporate workflow analyzers for code approval, review, workflow, and integration with ITIL tools such as(service now) for further change board approvals.
  5. It can be further improved to Run the test cases from Orchestrator.

RPA Developer/UiPath Studio

UiPath Azure DevOps Integration, CI CD Pipeline for UiPath

Continuous Integration (CI)

Continuous integration (CI) is known as the practice used by development teams to simplify the building of code and testing. CI helps to capture problems or bugs early in the development cycle, which makes them faster and easier to fix. Automated builds and tests are run as part of the CI process.

The process can also run on a set schedule, whenever the code is pushed, or both. Items known as artifacts are created from CI systems. They are used by the continuous delivery release pipelines to drive automatic deployments.

Continuous Delivery (CD)

Continuous delivery (CD) is a process that helps code be built, tested, and deployed to one or more test and production stages. Testing and deploying in multiple stages helps drive quality.

Continuous integration systems produce deployables of great value which are used in CD to release new versions and fixes to existing systems. This process ensures that errors are caught frequently and early.

In the first stages of robotic process automation development, many companies opt not to implement a CICD pipeline. The absence of test characteristics in RPA tools, coupled with the simplicity of most automation processes in the starting days, allowed RPA developers to easily carry out manual tests on the automation processes.

Nevertheless, the RPA suite has been expanded, now containing more advanced processes and innovative technologies. Therefore, the need for fully and continuously tested automation processes is indubitable.

Why Do You Need CICD Pipelines for Automation Processes?

Continuous Integration (CI) and Continuous Delivery (CD) play an essential role in the cycle of software delivery processes. CI is the modern method employed by software developers to streamline code changes, which allows developers to work collaboratively and spontaneously in a more reliable way. Implementing CI helps expose underlying issues early in the development cycle, which makes them less expensive to resolve.

For the present, CD is an automatic process containing various technical stages, in which the software is built, tested, and deployed to one or different test and production environments. Together, CICD proceeds with software delivery more expediently and effectively.

What are Azure Pipelines?

Azure Pipelines is part of the Azure DevOps tool suite developed by Microsoft for the support of the automation of software testing and building. Azure Pipelines comes with an upper hand that helps it stand out compared to other CICD tools on the market.

For example, Azure Pipelines allows software developers to configure the pipelines using YAML files, which is handy and easy to learn. Furthermore, Azure Pipelines works with most programming languages, so users can implement it with most applications on any platform like Linux, Windows, and macOS. In short, Azure Pipelines gives you a simple, reliable, and effective way to automate software delivery.

Using Azure DevOps

As discussed above, Azure Pipelines supports continuous integration (CI) and continuous delivery (CD) to constantly and consistently test and build your code and ship it to any target.

  • You accomplish this by defining a pipeline.
  • You define pipelines using the YAML syntax or through the user interface (Classic).
  • You can also use the YAML templates provided. Make sure to update variables as per your needs.

How to Set Up Azure DevOps & UiPath Extension for Azure DevOps [One Time Setup]

Implementing continuous integration and continuous delivery (CI/CD) for the app and platform of your choice requires set-up to be done before writing your first pipeline.

  • Sign up for an Azure DevOps organization – if you have an existing Microsoft account, all you need to do is click on “Start free” to get your account created.
  • It will ask you to log in using a Microsoft account, you can use your account as well. Alternatively, you can choose “Start Free with GitHub”.
  • Default Organization will be created with your email as your organization. Which can be accessed later using https://dev.azure.com/{yourorganization}
  • You should be able to create as many Azure DevOps organizations as you need by simply giving the Organization Name and hosting location.
  • The next step is creating a project by specifying the Project Name, Description, and Version Control System (Such as Git) and the most important is Visibility.
  • If you use your project type as a public project, Azure Pipelines is free. If you use private projects, you can run up to 1,800 minutes (30 hours) of pipeline jobs for free every month.
  • Once Project is created you should be able to Create your first Pipeline using step by step Wizard.
  • You can connect your GitHub Account to integrate the projects you have published in a Git repo.
  • You also need to provide Approve & Install Azure Pipelines so that required permissions are granted on the repo.

An AzureDevOps extension is also available that allows you to build and deploy UiPath Development Services, as well as run UiPath automated test cases. For using the extension you need to install it on Azure by getting it from the Visual Studio marketplace. (Check uipath.vsts-uipath-package)

Next, we need to install the UiPath Integration extension to your Azure DevOps organization. The UiPath Integration for Azure DevOps comes with a pack of pre-created tasks that allow you to build and deploy UiPath automation processes.

Revolutionize Your Automation Deployment

Explore how DevOps practices in UiPath elevate RPA efficiency, enabling swift issue resolution and optimized workflows.

It provides the following built-in capabilities -

  • The UiPathPack task enables you to package an existing UiPath project into a NuGet package.
  • The UiPathDeploy task lets you deploy a UiPath NuGet package onto the UiPath Orchestrator.
  • The UiPathTest task runs an existing test set on Orchestrator, or packages, deploys and runs test cases as a transient test set in one go, by specifying the path to a UiPath test project.
  • The UiPathAssets enables you to deploy, update, or delete assets on an Orchestrator instance. To deploy assets, you must describe them in a CSV file encoded in UTF-8.
  • The UiPathInstallPlatform has a prepackaged tool that all the other UiPath tasks are using. The task is optional, but it should be used as it reduces the time to execute the other tasks. The task is required when build agents do not have access to https://www.myget.org/F/uipath-dev/. The task should be executed before all other tasks in the extension.
  • The UiPathRunJob task starts an already deployed process on an Orchestrator instance. The processes this task refers to are found in Automation ->Processes on newer versions of Orchestrator and directly on the Processes tab on older versions of Orchestrator.

For the UiPathDeploy and UiPathTest tasks, you will also need to first create a Service Connection. (Enable API Access and set required).

You can go to Project Settings ->Service Connections ->UiPath Orchestrator Connection and add the service connection details. For best practices, it’s required to create multiple tenants such as (DEV, UAT, and PROD) and configure them separately.

Read More Details Here – https://marketplace.visualstudio.com/items?itemName=uipath.vsts-uipath-package

Azure DevOps CI/CD Pipeline Templates for UiPath Projects and Library

Many developers have created a pipeline for UiPath and they have also published the template for UiPath Projects and library on GitHub. Which can be utilized to save your effort.

Here are a few GitHub repos that can be used to build your pipelines from the template.

You can clone the Template files from the above repo to start it quickly.

UiPath Integration for Azure DevOps [Using UiPath PowerShell CLI]

In the above example, we have used the inline script to build the first pipeline. However, UiPath also provides support for the PowerShell cmdlet for all the tasks you need to perform with UiPath Orchestrator.

This provides a better way in case you are not interested in using the extension and you can use the PowerShell cmdlet inside your pipeline to perform the required task.

For example- You can get the UiPath AuthToken using the UiPath.Powershell and then use   Add-UiPathPackage to publish the package on the orchestrator.

  1. Import-Module UiPath.Powershell
  2. $token = Get-UiPathAuthToken -ClientId $(uatClientId) -UserKey $(uatUserKey) -AccountName $(uatAccountName) -CloudDeployment ‘Production’ -TenantName $(uatTenantName)
  3. Add-UiPathPackage -PackageFile $(Pipeline.Workspace)\drop\project.1.0.$(Build.BuildNumber).nupkg -AuthToken $token

You can read more details of all the PowerShell Cmdlet here – [Orchestrator-PowerShell docs]

Conclusion

Exploring CI/CD and DevOps in the context of UiPath emphasizes the role of streamlined development, early issue detection, and expedited robot delivery. Integrating CI/CD practices in UiPath paves the way for rapid development and enhanced process cycles.

 Akhil Malik

Akhil Malik

I am Akhil, a seasoned digital marketing professional. I drive impactful strategies, leveraging data and creativity to deliver measurable growth and a strong online presence.