Hello UiPath Community!
I would like to share that I’ve been working on a CI/CD pipeline sample implementation(s) tailored specifically for UiPath projects. With the powerful combination of GitHub, Jenkins, and SonarQube, this initiative is designed to streamline the development and deployment processes for all UiPath enthusiasts out there.
Currently, I’ve reached a milestone with version 0.2 which is a working prototype, and along the way, I’ve created dozens of building block codes to aid in the process.
As a sneak peek, here is how the UiPath Workflow Analyzer outputs “Code Smell” results in SonarQube. All of this magic happens in my homelab where all the components reside.
My Jenkinsfiles are already able to increment the projectVersion number based on e.g. pull request titles (for example if a pull request title contains ‘breaking’ then a major version gets incremented, and written back into the project.json file. This just one example for what I call “building block code”.
I’m on a quest to make this initiative as comprehensive and user-friendly as possible, and that’s where you come in!
- Share Your Thoughts: What have you always wanted to know about CI/CD for UiPath RPA projects?
- Your Challenges Matter: What obstacles or challenges prevent you from setting up or utilizing a CI/CD pipeline for your UiPath projects?
Your insights will be invaluable. Not only will I aim to address these issues in my ongoing work, but your feedback will directly shape the content and depth of the many publications I’m currently preparing.
Collaboration can take place right here in the UiPath Community Forum. If there’s enough interest, I might even set up a dedicated GitHub repository where issues can be raised, and roadmap items can be communicated in a more structured manner.
Here is what I could imagine are frequent challenges:
- setting up a R&D environment (I settled on 2 Raspberry Pi and 1 cheap Lenovo ThinkCentre, and work with the UiPath Community Edition)
- writing and debugging Jenkinsfiles
- overwhelming complexity: Git branching scheme? Jenkins paths on a Linux server? Authentification with the Orchestrator? Plugin or API? Code syntax in Jenkinsfiles, Groovy, batch/bash/powershell?
- no best practices as guidelines and no clear picture what can be achieved
- is it useful at all?
- no prerequisites, checklists and tutorials at hand, no idea of the time effort required
My primary objective? To understand and solve the problems you face, making CI/CD for UiPath as seamless and effective as possible. So, let’s embark on this journey together and revolutionize the way we approach CI/CD in UiPath!
Looking forward to your invaluable feedback and insights!
I will place them as sticky notes on my project board, with your name and will inform you!