forked from ros/rosdistro
-
Notifications
You must be signed in to change notification settings - Fork 9
using docker to emulate build farm builds
Marc Hanheide edited this page Nov 12, 2019
·
4 revisions
This page describes the few steps to compile some software in a clean environment, allowing to check if all dependencies etc are correct, in order to avoid the L-CAS build farm complaining about failed builds. It is good practice to do this locally in order to make sure code compiles fine:
-
Install Docker-CE. (Docker provides a way to run applications securely isolated in a container. Effectively a very efficient virtualisation)
- add your local user to the
docker
group so you have access
- add your local user to the
- After docker is installed, you can simply run
docker run --rm -it lcasuol/lcas-docker:xenial-base /bin/bash
ordocker run --rm -it lcasuol/lcas-docker:bionic-base /bin/bash
(if you want ROS melodic). This gives you a basic virtual container with ROS and L-CAS repositories enabled (effectively with all installation steps described in "Using L-CAS repository" carried out. This command will download the image and then start a container. (Note: if you leave this container, it will be removed and all resources are purged, that's what--rm
does for you) - In the docker container do the following steps:
-
apt update && apt upgrade
(just making sure we have the latest version of everything) -
rosdep update
(making sure you have the latest rosdep) mkdir -p workspace/src
cd workspace/src
-
catkin_init_workspace
(init workspace) -
git clone YOUR_REPO_URL_HERE
(checkout your source) -
rosdep install -y -i --from-paths .
(install all the dependencies defined in yourpackage.xml
, this should install all packages your repository needs, and hence will tell you if you need to declare more if your build later fails) -
catkin_make_isolated -C .. --install
(this is doing catkin in each found package individually, getting as close to an actual release situation as possible - If things don't work, fix them, and run them again
-
Make sure you don't leave the container without storing your changes (should you have made any). They will be lost if you leave the container.
-
Home (Using the L-CAS distribution)
- Releasing Packages
- rosdistro index status:
- batch install of L-CAS distribution on a fresh machine
- developer setting
- Cache Job:
- ROS2 Humble (on Ubuntu 22.04LTS, actively developed)
- ROS1 Melodic (on Ubuntu 18.04LTS, no longer developed)