This repository uses Github Actions, i.e. Github's continuous integration and continuous delivery (CI/CD) platform, to automatically build and deliver Docker images for a popular ROS package.
The Docker image offers a convenient way to run nodes and launch files of the ROS package without having to compile it on a local computer and having to worry about its dependencies such as specific library or OS versions.
This repository creates a Docker image with ROSblox's VINS-Fusion ROS package, which is a fork with no/minor modifications in comparison to its parent repository, HKUST-Aerial-Robotics' VINS-Fusion . Checkout the repository's README.md for more information about this ROS package.
Install the Docker engine, https://docs.docker.com/get-docker/.
docker login ghcr.io
git clone https://github.com/rosblox/ros-vins-fusion.git
cd ./ros-vins-fusion
./run.sh
Note, the Docker image is pulled automatically once, if it hasn't been pulled yet.
Inside the container, start ROS package by executing
run
Note, the run
command is an alias defined in the ~/.bashrc
to launch the ROS package's launch file.
This section details the workflow with a ROS package in a Docker image. Basic knowledge about Docker images, containers and the container registry is beneficial.
This repository's automatically built Docker image is uploaded to Github's Container Registry (ghcr.io). Newer versions of the Docker image can be pulled by running
docker pull ghcr.io/rosblox/ros-vins-fusion:noetic
To include updates of the ROS package's parent repository, HKUST-Aerial-Robotics' VINS-Fusion , in the automatically built Docker images, please create a Pull Request to ROSblox's VINS-Fusion fork with the changes.
For convenience, there is a build.sh
script located at the root of the repository. Run
./build.sh
to build the Docker image on your local computer, e.g. when you made changes to the Dockerfile.
The run.sh
script mounts this repository's submodule folders into the created container when executed. Inside the container, the ROS packages can be compiled by running
build
The build
command is an alias defined in the ~/.bashrc
to execute catkin_make
.Note, this will compile the ROS package including changes of its source code.
This repository solely automates the building and delivery of a Docker image for a popular ROS package. All credit for the content of the ROS package goes to the original authors of the ROS package. Thank you for open sourcing your code!
The Docker image of this ROS package is built as part of the ROSbloX project.
Website: ROSbloX
Connect with us on Git: ROSbloX Git
Join us on Slack: ROSbloX Workspace
Follow us on Twitter: ROSbloX (@xploros)
Subscribe to our Youtube channel: ROSbloX Youtube