Hi, due to my team’s discussion and the future strategy, I would like to know about any solution or advises about the following problem:
- how to implement Continuous Integration and Continuous Delivery(CI/CD) into UiPATH?
- Does UiPATH allow the team members to develop a process separately, then can combine those sub-processes together eventually? How to achieve it?
Thank you for any comments
Let me share my ideas about this.
In our company, we use agile programming methodology for RPA projects. So we have sprints defined and the work is allocated based on those. Additionally, we use source control systems like git hub for example to maintain the code that developers work on.
In repositories, we maintain different branches for production, test and development. At the end of each sprint deployment, we take a copy from production to add it to development branch. So all developers start to work on the next sprint with a fresh copy. Each developer then use their own branch to work on stuff. This enables us to easy integration of work as and when they finish. When deploying, we finalize the worked solution and add them to test and production branches separately. We follow some procedures to it.
This is how we manage continuous integration and continuous delivery.
For your next question, yes we can have separate developments and late integrate them. We have to have good programming and design practices built in when developing code which also helps us to manage this. This also comes as a part of enabling unit testing of each part of code each developer works on. To add to that, use of source control software also helps to manage it
What tools are you using to run the tests? Can it be run for each commit?
On the DevCon from UiPath, from the beginning of this month, it was presented on the “Orchestrator Management from UiPath”, the idea to CI/CD. You can register to watch the recordings(RPA Developer Conference - DevCon 2021 | UiPath). In Azure there are available pipelines which allows you, for example after code is reviewed and approved to be automatically sent to Orchestrator. It can be integrated also with Testing Manager - which run the automated tests configured with Jenkins - and so you can ensure robot robustness.