Skip to content

Commit 4f25eaa

Browse files
authored
Merge pull request #46 from datastax/feature/cdm-docker-image
Build inside docker
2 parents 84ce7b6 + 99fbe79 commit 4f25eaa

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

Dockerfile

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
FROM eclipse-temurin:8-jammy
22

3-
# Add all migration tools to path
4-
RUN mkdir -p /assets/
5-
63
# Download all migration dependencies
7-
RUN cd /assets && \
4+
RUN mkdir -p /assets/ && cd /assets && \
85
curl -OL https://downloads.datastax.com/dsbulk/dsbulk.tar.gz && \
96
tar -xzf ./dsbulk.tar.gz && \
107
rm ./dsbulk.tar.gz && \
@@ -17,16 +14,35 @@ RUN cd /assets && \
1714
rm ./spark-2.4.8-bin-hadoop2.7.tgz
1815

1916
RUN apt-get update && apt-get install -y openssh-server vim --no-install-recommends && \
20-
rm -rf /var/lib/apt/lists/*
21-
RUN service ssh start
17+
rm -rf /var/lib/apt/lists/* && \
18+
service ssh start
2219

2320
# Copy CDM jar & template files
24-
COPY ./target/cassandra-data-migrator-*.jar /assets/
21+
ARG MAVEN_VERSION=3.8.6
22+
ARG USER_HOME_DIR="/root"
23+
ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries
24+
ENV MAVEN_HOME /usr/share/maven
25+
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"
26+
COPY ./src /assets/src
27+
COPY ./pom.xml /assets/pom.xml
2528
COPY ./src/resources/sparkConf.properties /assets/
2629
COPY ./src/resources/partitions.csv /assets/
2730
COPY ./src/resources/primary_key_rows.csv /assets/
2831
COPY ./src/resources/runCommands.txt /assets/
2932

33+
RUN mkdir -p /usr/share/maven /usr/share/maven/ref && \
34+
curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz && \
35+
tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 && \
36+
rm -f /tmp/apache-maven.tar.gz && \
37+
ln -s /usr/share/maven/bin/mvn /usr/bin/mvn && \
38+
cd /assets && mvn -f ./pom.xml clean package && \
39+
cp /assets/target/cassandra-data-migrator-*.jar /assets/ && \
40+
rm -rf /assets/src && \
41+
rm -rf /assets/target && \
42+
rm -rf /assets/pom.xml && \
43+
rm -rf "$MAVEN_HOME" && \
44+
rm -rf "$USER_HOME_DIR/.m2"
45+
3046
# Add all migration tools to path
3147
ENV PATH="${PATH}:/assets/dsbulk/bin/:/assets/cqlsh-astra/bin/:/assets/spark-2.4.8-bin-hadoop2.7/bin/"
3248

0 commit comments

Comments
 (0)