Skip to content

Commit 2f779f2

Browse files
committed
Move rocks building in build phase
1 parent dda7e9c commit 2f779f2

File tree

4 files changed

+29
-21
lines changed

4 files changed

+29
-21
lines changed

src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ public TarantoolCartridgeContainer(String dockerFile, String buildImageName,
184184
*/
185185
public TarantoolCartridgeContainer(String dockerFile, String buildImageName, String instancesFile,
186186
String topologyConfigurationFile, final Map<String, String> buildArgs) {
187-
this(buildImage(dockerFile, buildImageName), instancesFile, topologyConfigurationFile, buildArgs);
187+
this(buildImage(dockerFile, buildImageName, buildArgs), instancesFile, topologyConfigurationFile, buildArgs);
188188
}
189189

190190
private TarantoolCartridgeContainer(ImageFromDockerfile image, String instancesFile, String topologyConfigurationFile,
@@ -236,12 +236,17 @@ private static Map<String, String> mergeBuildArguments(Map<String, String> build
236236
return args;
237237
}
238238

239-
private static ImageFromDockerfile buildImage(String dockerFile, String buildImageName) {
239+
private static ImageFromDockerfile buildImage(String dockerFile, String buildImageName,
240+
final Map<String, String> buildArgs) {
241+
ImageFromDockerfile image;
240242
if (buildImageName != null && !buildImageName.isEmpty()) {
241-
return new ImageFromDockerfile(buildImageName, false)
242-
.withFileFromClasspath("Dockerfile", dockerFile);
243+
image = new ImageFromDockerfile(buildImageName, false);
244+
} else {
245+
image = new ImageFromDockerfile();
243246
}
244-
return new ImageFromDockerfile().withFileFromClasspath("Dockerfile", dockerFile);
247+
return image.withFileFromClasspath("Dockerfile", dockerFile)
248+
.withFileFromClasspath("cartridge", buildArgs.get("CARTRIDGE_SRC_DIR") == null ?
249+
"cartridge" : buildArgs.get("CARTRIDGE_SRC_DIR"));
245250
}
246251

247252
/**

src/main/resources/Dockerfile

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,26 @@
11
ARG TARANTOOL_VERSION=2.10.5
2-
FROM tarantool/tarantool:${TARANTOOL_VERSION}-centos7 AS tarantool-base
2+
FROM tarantool/tarantool:${TARANTOOL_VERSION}-centos7 AS cartridge-base
3+
4+
# system preparations because docker mount directory as a root
35
ARG TARANTOOL_SERVER_USER="root"
46
ARG TARANTOOL_SERVER_GROUP="root"
5-
ARG TARANTOOL_WORKDIR="/app"
6-
ARG TARANTOOL_RUNDIR="/tmp/run"
7-
ARG TARANTOOL_DATADIR="/tmp/data"
8-
ARG TARANTOOL_INSTANCES_FILE="./instances.yml"
9-
ENV TARANTOOL_WORKDIR=$TARANTOOL_WORKDIR
10-
ENV TARANTOOL_RUNDIR=$TARANTOOL_RUNDIR
11-
ENV TARANTOOL_DATADIR=$TARANTOOL_DATADIR
12-
ENV TARANTOOL_INSTANCES_FILE=$TARANTOOL_INSTANCES_FILE
7+
USER $TARANTOOL_SERVER_USER:$TARANTOOL_SERVER_GROUP
8+
RUN groupadd $TARANTOOL_SERVER_GROUP && useradd -m -s /bin/bash $TARANTOOL_SERVER_USER || true
9+
10+
# install dependencies
1311
RUN yum -y install cmake make gcc gcc-c++ git unzip cartridge-cli && \
1412
yum clean all
15-
RUN groupadd $TARANTOOL_SERVER_GROUP && useradd -m -s /bin/bash $TARANTOOL_SERVER_USER || true
16-
USER $TARANTOOL_SERVER_USER:$TARANTOOL_SERVER_GROUP
1713
RUN cartridge version
1814

19-
FROM tarantool-base AS cartridge-base
15+
# build
16+
ARG CARTRIDGE_SRC_DIR="cartridge"
17+
ARG TARANTOOL_WORKDIR="/app"
18+
COPY $CARTRIDGE_SRC_DIR $TARANTOOL_WORKDIR
2019
WORKDIR $TARANTOOL_WORKDIR
21-
CMD cartridge build && cartridge start --run-dir=$TARANTOOL_RUNDIR --data-dir=$TARANTOOL_DATADIR --cfg=$TARANTOOL_INSTANCES_FILE
20+
RUN cartridge build --verbose
21+
22+
ENV TARANTOOL_RUNDIR="/tmp/run"
23+
ENV TARANTOOL_DATADIR="/tmp/data"
24+
ENV TARANTOOL_INSTANCES_FILE="./instances.yml"
25+
26+
CMD cartridge start --run-dir=$TARANTOOL_RUNDIR --data-dir=$TARANTOOL_DATADIR --cfg=$TARANTOOL_INSTANCES_FILE

src/test/java/org/testcontainers/containers/TarantoolCartridgeBootstrapFromLuaWithFixedPortsTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ public class TarantoolCartridgeBootstrapFromLuaWithFixedPortsTest {
2121
"Dockerfile",
2222
"cartridge/instances_fixedport.yml",
2323
"cartridge/topology_fixedport.lua")
24-
.withCopyFileToContainer(MountableFile.forClasspathResource("cartridge"), "/app")
25-
.withCopyFileToContainer(MountableFile.forClasspathResource("cartridge/instances_fixedport.yml"),"/app/instances.yml")
24+
.withEnv("TARANTOOL_INSTANCES_FILE", "instances_fixedport.yml")
2625
.withStartupTimeout(Duration.ofSeconds(300))
2726
.withUseFixedPorts(true)
2827
.withAPIPort(18081)

src/test/java/org/testcontainers/containers/TarantoolCartridgeBootstrapFromYamlTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public class TarantoolCartridgeBootstrapFromYamlTest {
2323
"Dockerfile",
2424
"cartridge/instances.yml",
2525
"cartridge/replicasets.yml")
26-
.withCopyFileToContainer(MountableFile.forClasspathResource("cartridge"), "/app")
2726
.withStartupTimeout(Duration.ofSeconds(300))
2827
.withLogConsumer(new Slf4jLogConsumer(
2928
LoggerFactory.getLogger(TarantoolCartridgeBootstrapFromYamlTest.class)));

0 commit comments

Comments
 (0)