Automating CI Processes for ROS1 and ROS2 Projects
10 June 2024
Continuous Integration (CI) is essential in modern software development, ensuring that code changes are automatically tested and integrated, leading to more robust and reliable software. This project focuses on setting up a CI pipeline using Jenkins for ROS1 and ROS2 projects, automating the process to be triggered whenever a commit is pushed to a remote repository.
The project is divided into two main tasks, focusing on setting up CI pipelines for ROS1 and ROS2 environments using Jenkins and Docker.
Initial Setup: Involved setting up the ROS1 environment and creating the necessary Docker image for the TortoiseBot simulation.
Dockerfile Creation: A Dockerfile was created to set up ROS Noetic, required Gazebo packages, TortoiseBot simulation packages, and the tortoisebot_waypoints package from Checkpoint 23.
Jenkins Project Setup:
Initial Setup: Involved setting up the ROS2 environment and creating the necessary Docker image for the TortoiseBot simulation.
Dockerfile Creation: A Dockerfile was created to set up ROS Galactic, required Gazebo packages, TortoiseBot simulation packages, and the tortoisebot_waypoints package.
Jenkins Project Setup:
The creation and deployment of CI pipelines using Jenkins for both ROS1 and ROS2 environments enabled automated testing and integration of TortoiseBot simulation and waypoints action server. This project demonstrates the importance and effectiveness of CI in robotics, ensuring code reliability and streamlining the development process.