-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathDockerfile.melodic
42 lines (30 loc) · 1.65 KB
/
Dockerfile.melodic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
FROM ros:melodic
SHELL ["/bin/bash", "-c"]
RUN (apt-get update || true) && apt-get install --no-install-recommends --yes curl
RUN curl --fail --show-error --silent --location https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -
RUN apt-get update && \
apt-get install -y wget && \
wget http://packages.osrfoundation.org/gazebo.key -O - | apt-key add - && \
echo "yaml https://s3-us-west-2.amazonaws.com/rosdep/base.yaml" > /etc/ros/rosdep/sources.list.d/19-aws-sdk.list
COPY . /opt/package
WORKDIR /opt/package
RUN apt-get update && \
apt-get install -y python3-pip python3-apt python-pip enchant sudo
RUN useradd builduser
RUN adduser builduser sudo
RUN mkdir -p /home/builduser
RUN chown builduser /home/builduser
RUN sh -c "echo 'builduser ALL=NOPASSWD: ALL' >> /etc/sudoers"
RUN pip3 install --upgrade pip setuptools
RUN pip3 install -r requirements.txt
RUN pip3 install -e .
RUN chown -R builduser /opt/package
USER builduser
RUN rosdep update && \
sudo rosdep install --from-paths integration/test_workspace --rosdistro melodic --ignore-src -r -y
WORKDIR /opt/package/integration/test_workspace
# NOTE: This is a workaround for setuptools 50.* (see https://github.com/pypa/setuptools/issues/2352)
ENV SETUPTOOLS_USE_DISTUTILS=stdlib
RUN source /opt/ros/melodic/setup.sh; colcon build
RUN source /opt/ros/melodic/setup.sh; colcon bundle --bundle-version 1 --bundle-base v1 --pip-requirements py27_requirements.txt --pip3-requirements py3_requirements.txt
RUN source /opt/ros/melodic/setup.sh; colcon bundle --bundle-version 2 --bundle-base v2 --pip-requirements py27_requirements.txt --pip3-requirements py3_requirements.txt