| FROM debian:buster |
| |
| ENV DEB_DIST_DIR=/dist |
| ENV BUILD_HOME=/home/build |
| ENV CASSANDRA_DIR=$BUILD_HOME/cassandra |
| |
| LABEL org.cassandra.buildenv=buster |
| |
| VOLUME ${DEB_DIST_DIR} |
| |
| # install deps |
| RUN apt-get update && apt-get -y install \ |
| ant \ |
| build-essential \ |
| curl \ |
| devscripts \ |
| git \ |
| sudo \ |
| python-sphinx \ |
| python-sphinx-rtd-theme |
| |
| RUN echo 'deb http://ftp.debian.org/debian stretch main' >> /etc/apt/sources.list \ |
| && apt-get update \ |
| && apt-get install -y --no-install-recommends openjdk-8-jdk openjdk-11-jdk \ |
| && sed -i '$d' /etc/apt/sources.list \ |
| && apt-get update \ |
| && update-java-alternatives --set java-1.8.0-openjdk-amd64 |
| |
| # create and change to build user |
| RUN adduser --disabled-login --gecos build build && gpasswd -a build sudo |
| RUN echo "build ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/build && \ |
| chmod 0440 /etc/sudoers.d/build |
| |
| USER build |
| |
| # clone Cassandra and cache maven artifacts |
| ARG CASSANDRA_GIT_URL=https://gitbox.apache.org/repos/asf/cassandra.git |
| RUN git clone ${CASSANDRA_GIT_URL} ${CASSANDRA_DIR} |
| WORKDIR ${CASSANDRA_DIR} |
| |
| COPY build-debs.sh $BUILD_HOME/ |