CI/CD in the context of RPA

@Andrei_Barbu

If I am following this CI/CD pipeline only automate the building of workflow/xaml into a package which is then deployed to various orchestrator instances (DEV, UAT, PROD), is that correct?

Does it handle the creation of a process and/or the ability to update all processes using this package or is this something that could be done using Orchestrator API.

Does orchestrator API allow you to create processes?

TIA

@Andrei_Barbu Thank you again for providing some context with CI/CD in RPA. I currently automate our builds and deploys of packages to multiple instances of Orchestrator. I’m looking for a way to automate custom libraries. Please advise if you have seen success in publishing libraries from one Orchestrator Server to another. The source library would be available in a Git Repository. It seems like this would be pretty similar to deploying packages, however, instead, I need them to be uploaded as Libraries within Orchestrator.

1 Like

I was able to automate libraries via UiPath’s Powershell Module:
GitHub - UiPath/orchestrator-powershell: UiPath Orchestrator PowerShell cmdlet library and using the command Add-UiPathLibrary

Prior to this command you need to obtain an Auth Token:
Get-UiPathAuthToken -URL ‘yourorchestratordomain.com’ -Username ‘orchestratorusername’ -Password ‘orchestratorpassword’ -Session -OrganizationUnit ‘OrgUnitNameIfYouHaveMultipleOrgUnitsWithinOrchestrator’

Then you will need your package already bundled as a NuGet Package. You can package your Library NugetPack command:
nuget pack .nuspec

Then the following command will add the Library to Orchestrator
Add-UiPathLibrary -LibraryPackage ‘C:\UiPathDemo\libraries\TestLibrary.nupkg’

Hi @Andrei_Barbu. I’m interested in the topic, but before going any deeper, I would like to know: is any of this possible while using the UiPath Cloud Orchestration (Automation Cloud)?

Thanks

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

There have been discussions regarding how continuous integration and deployment concepts can be applied to the RPA development cycle.

I have tried and documented the steps to build the CI CD Pipeline for UiPath using the Azure DevOps as a blogpost inclduing building self hosted agents.

Thanks @Andrei_Barbu for your detailed guideline to use adding stages for deploying to UAT and to Prod. I have used your sample .yaml file to explain how it works.

Topics covered in this article -

:ballot_box_with_check: What is CI/CD in the context of RPA (Focus on UiPath)
:ballot_box_with_check: Key Concepts in Azure Pipelines
:ballot_box_with_check: Build the first pipeline to package UiPath project
:ballot_box_with_check: Different ways of UiPath CI/CD pipeline creation using Azure Extension or Pure Powershell
:ballot_box_with_check:Required configuration/ Configure the self-hosted agent
:ballot_box_with_check:Complete working example.

You can go through the first version of the article, I will be improving this in the next few weeks to include other stuff in pipeline as well.

You can read deatils here - Azure CI CD Pipelines for UiPath

6 Likes

Is that PW entry power the powershell tools or asset management for credentials that you are working on? I am currently wanting to enhance the powershell scripts with an auth manager. Maybe this is something that is similar?

Hi @Andrei_Barbu

Do you have documentation for GITLAB CI/CD pipeline setup for UiPath RPA projects? I am keen to know any documents regarding the same.

Thank you
VJ

Hi Guys,

I came across this forum to find out about CI/CD for UiPath, and at the same time i’ve also come across an article by UiPath on CI/CD here

I’ve followed the article and it all goes well, until it runs the RELEASE pipeline where it fails at UiPath Deploy task

For some reason, it says it can’t connect to the Orchestrator - Note that i’m using my community automation cloud for this exercise


2021-11-02T09:05:54.9396256Z Failed to run the command. Could not connect to Cloud Orchestrator: https://cloud.uipath.com/***, Account Name For App: ***, Application Id: ***, Application Scope(s): ***, Tenant: ***, Organization Unit: AzureDevopsDemo.

2021-11-02T09:05:54.9398789Z Please make sure that the provided URL (https://cloud.uipath.com/***) is correct, available from your build agent, and not blocked by a firewall.

2021-11-02T09:05:54.9400731Z If the Orchestrator is using a self-signed SSL certificate, make sure that the build agent trusts it. Ensure that all the steps at https://docs.uipath.com/orchestrator/docs/self-signed-certificates were correctly followed when creating the certificate.

2021-11-02T09:05:55.0001971Z Stack trace:

I’ve checked and the tenant itself does not have this UiPath package deployed before, and i’ve set-up an external app (as per the article) in Community Automation Cloud (Version 21.11.1-release.16) to be used for setting up the service connection for my project.

Or is there something that i’ve missed in the service connection setup?

Orchestrator URL is simply taken from the below

Account Name is optional, so i’ve just set it to be the section after the main URL below

App ID and Secret is of course retrieved from the external app setting (have checked that this is correct)

Tenant is simply the tenant name from below

Has anyone had the same issue?

Did you manage to solve this? I followed the same manual and have the same error message.

@Bas nope didn’t manage to go further from there

Thanks for the swift response @warren_lee
I will contact UIPath and once I have a solution I will share it here.

1 Like

@warren_lee there seems to be an issue with the service connection in the UIPath DevOps extension with version details:

Publisher

UiPath

Installed version

2.9.2194067 (Latest)

Last updated

Dec 6, 2021 at 11:56 PM GMT+1

We found a service connection in another project that was created with an older version of the plugin which still works. We now have a temporary workaround in place by sharing the service connection with other DevOps projects. I talked to UIPath about this and a new release of the extension is expected this week which should solve the issue.

Thanks @Bas for the feedback. Hopefully this will be rectified in the newer release and i shall try again after.

Cheers

Hello @warren_lee,

Our extension has been updated February 8, I haven’t tried creating a new service connection yet but I thought I’d let you know.

Thanks for the update @Bas . I’ll check again when i have the chance and will let you know if it works

Hi @warren_lee ,

Any update on the above issue. I’m also facing the same issue.

Hi @Sri3 , @Bas ,

I’ve checked again on my sample project, but it’s still not working at the UiPath Deploy stage of the ‘Release’ pipeline.

I can see that the UiPath Integration pack in Azure DevOps has an updated version
image

At the UiPath Deploy stage, it shows an error of:

2022-02-28T03:17:21.4300480Z Failed to run the command. Could not connect to Cloud Orchestrator: https://cloud.uipath.com/***, Account Name For App: ***, Application Id: ***, Application Scope(s): ***, Tenant: ***, Organization Unit: AzureDevopsDemo.

2022-02-28T03:17:21.4307084Z Please make sure that the provided URL (https://cloud.uipath.com/***) is correct, available from your build agent, and not blocked by a firewall.
.....
....
2022-02-28T03:17:21.5792392Z ##[error]Error deploying package: Error: The process 'D:\a\_temp\965dy8uw8\lib\net461\uipcli.exe' failed with exit code 1.

Is this the same for you guys when running on the latest UiPath Integration extension? Or did you guys find success?

Hello @warren_lee,

Sorry for the delay. I have been busy with other things lately so I haven’t been able to try it with the updated version of the extension.
We already had a working connection made with an earlier version without the bug, so we have been using that one throughout our repo’s.
If I get around to it, I will have a go and let you know.

Hi Andrei,

Could you please explain the uipath test framework integration with AWS?

Regard,
JeoJames