Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- [PR-14](https://github.com/AGH-CEAI/aegis_docker/pull/14) - Added first LABELs to store build arguments metadata.
- [PR-13](https://github.com/AGH-CEAI/aegis_docker/pull/13) - Added compose for containers registry.
- [PR-11](https://github.com/AGH-CEAI/aegis_docker/pull/11) - Added container for PPA server.
- [PR-9](https://github.com/AGH-CEAI/aegis_docker/pull/9) - Added documentation for using toolbx containers in Ubuntu 22.04/24.04.
Expand Down
8 changes: 7 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
ARG ROS_DISTRO=humble
ARG PPA_HOSTNAME=geonosis
ARG AEGIS_ROS_TAG=${ROS_DISTRO}-devel

FROM docker.io/osrf/ros:${ROS_DISTRO}-desktop
ARG ROS_DISTRO
ARG PPA_HOSTNAME
ARG AEGIS_ROS_TAG

LABEL org.opencontainers.image.authors="ceai@agh.edu.pl"
LABEL aegis.ros.distro=${ROS_DISTRO}
LABEL aegis.ros.tag=${AEGIS_ROS_TAG}

WORKDIR /ws

Expand All @@ -16,7 +22,7 @@ RUN apt update \
ros-${ROS_DISTRO}-ros2-control \
ros-${ROS_DISTRO}-ros2-controllers \
# Setup workspace
&& git clone -b ${ROS_DISTRO}-devel https://github.com/AGH-CEAI/aegis_ros.git src/aegis_ros \
&& git clone -b ${AEGIS_ROS_TAG} https://github.com/AGH-CEAI/aegis_ros.git src/aegis_ros \
&& vcs import src < src/aegis_ros/aegis/aegis.repos \
# Install dependencies
&& rosdep update --rosdistro $ROS_DISTRO \
Expand Down
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,33 @@ echo "deb [trusted=yes] http://192.168.0.100/debian ./" | tee -a /etc/apt/source

[Instructions how to use self-hosted container registry.](./utils/containers_registry/README.md)

#### Building & pushing a particular release tag
```bash
export REGISTRY_HOSTNAME=geonosis:5000
export AEGIS_ROS_VERSION=<TAG>
export AEGIS_CONTAINER_VERSION=<TAG>

# if the building is happening on the same machine as PPA server, add argument:
# --add-host $(hostname):$(hostname -I | awk '{print $1}')
podman build . -t ceai/aegis_dev:${AEGIS_CONTAINER_VERSION} --build-arg AEGIS_ROS_TAG=${AEGIS_ROS_VERSION}
podman tag ceai/aegis_dev:${AEGIS_CONTAINER_VERSION} ${REGISTRY_HOSTNAME}/ceai/aegis:${AEGIS_CONTAINER_VERSION}
podman image inspect --format='{{json .Config.Labels}}' ${REGISTRY_HOSTNAME}/ceai/aegis:${AEGIS_CONTAINER_VERSION}

podman push ${REGISTRY_HOSTNAME}/ceai/aegis:${AEGIS_CONTAINER_VERSION}
```

#### Pulling & entering a particular release tag
```bash
export REGISTRY_HOSTNAME=geonosis:5000
export AEGIS_CONTAINER_VERSION=<TAG>

podman pull ${REGISTRY_HOSTNAME}/ceai/aegis:${AEGIS_CONTAINER_VERSION}
podman image inspect --format='{{json .Config.Labels}}' ${REGISTRY_HOSTNAME}/ceai/aegis:${AEGIS_CONTAINER_VERSION}

toolbox create --image ${REGISTRY_HOSTNAME}/ceai/aegis:${AEGIS_CONTAINER_VERSION}
toolbox enter aegis-${AEGIS_CONTAINER_VERSION}
```

---

### Known issues:
Expand Down