Correct process to distribute ROS projects as containers?
Hello,
I'm a DevOps helping a team of Robotics Developers to streamline their development and deployment process.
With their help I've been able to create a custom DevContainer image for our VScode needs as well as our CI needs.
Currently we have an environnement where all developers works with the same config, and all our commits trigger proper tests.
Now, we need to work on the CD part. Which is where my folks start to be less sure about what is needed or not.
Our goal for the distribution is to end with the lightest possible image with the following characteristics:
- ARM64 and AMD64 variants (handled by workflow running on different runners, no cross compil)
- Cuda support
- ROS
- only binaries from our own code, no source code
- no debug tools
Our containers factory so far is quite mature and no problem for most of this.
Where I need help is on the ROS part.
Considering we are using Noetic and our code is C++, what should be the steps for us to:
- build in release mode from our DevContainers
- extract the build artifacts
- create a containers from scratch (ideally from nvidia/cuda) to add the minimal ROS dependencies
- inject the build artifacts
- configure the appropriate entry points to run ROS with the container
For all those point, we are unsure about what to do.
If someone here can share a working process, or if there is already existing KB / Blog / Conference / Sample Repo on that topic, I'm really interested.
Cheers Yoann
Did you find any solutions to this? thanks
@chased11 no solution on my side and no help here sadly.
Do you have the knowledge on that?