Multi stage build

This commit is contained in:
Alex Davies 2024-09-19 10:44:55 -03:00
parent 84b80637bc
commit 78271404fb
2 changed files with 21 additions and 13 deletions

View File

@ -1,5 +1,5 @@
# Stage 1: Build Stage
FROM git.spirirobotics.com/spiri/services-ros1-core:main AS builder
FROM git.spirirobotics.com/spiri/services-ros1-core:main AS devenv
#We need to make sure to source the ROS environment in our dockerfile
@ -13,20 +13,27 @@ WORKDIR /root/catkin_ws/src
COPY ./ .
WORKDIR /root/catkin_ws
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && rosdep init"
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && rosdep update"
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && rosdep install --from-paths src -y"
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && catkin_make"
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && catkin_make install"
RUN echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
RUN echo "source /root/catkin_ws/devel/setup.bash" >> ~/.bashrc
WORKDIR /root/catkin_ws
RUN apt-get clean
HEALTHCHECK {{HEALTHCHECK}}
# Command to run your application
CMD {{RUN_COMMAND}} --wait --screen
WORKDIR /root/catkin_ws
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && rosdep init"
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && rosdep update"
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && rosdep install --from-paths src -y"
RUN echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
RUN echo "source /root/catkin_ws/devel/setup.bash" >> ~/.bashrc
FROM devenv AS build
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && catkin_make"
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && catkin_make install"
WORKDIR /root/catkin_ws

View File

@ -4,6 +4,7 @@ services:
build:
context: .
dockerfile: Dockerfile
target: devenv
environment:
- "ROS_MASTER_URI=http://ros-master:11311"
volumes: