diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9ba9bae836d540aa86e22f4efd40f53475f477a2..deedc26b866c30129d128bdf5c79d4c3268baec5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,7 @@ stages: - build +- docker masterJobLinux: stage: build @@ -29,6 +30,9 @@ masterJobLinux: - master tags: - se + artifacts: + paths: + - install/rmi-model-server.jar masterJobWindows: stage: build @@ -36,6 +40,8 @@ masterJobWindows: - mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B clean install --settings settings.xml tags: - Windows10 + only: + - master BranchJobLinux: stage: build @@ -57,3 +63,20 @@ BranchJobLinux: - master tags: - se + +masterJobDocker: + image: docker:dind + stage: docker + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + tags: + - docker + script: + - cd docker + - sh ./build.sh + - docker tag rmi-server:latest $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + - docker tag rmi-server:latest $CI_REGISTRY_IMAGE:latest + - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + - docker push $CI_REGISTRY_IMAGE:latest + only: + - master diff --git a/docker/Dockerfile b/docker/Dockerfile index 5ca1de05b00f379905cea5ad53381b59428fbb84..695524a549d8c16f14293623a5e95128da688a52 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -10,10 +10,14 @@ FROM openjdk:8 WORKDIR /app -COPY HardwareEmulator.so ./ +RUN apt-get update && \ + apt-get install -y --no-install-recommends libxext6 libxrender1 libxtst6 && \ + rm -rf /var/lib/apt/lists/* && \ + echo "export LD_LIBRARY_PATH=/usr/local/openjdk-8/jre/lib/amd64" > ~/.bashrc + + COPY rmi-model-server.jar ./rmi-model-server.jar COPY ./autopilots/ ./autopilots/ -COPY ./autopilots/ ./autopilots/AutopilotAdapter -CMD exec java -cp rmi-model-server.jar -Djava.rmi.server.codebase=file:rmi-model-server.jar -Djava.rmi.server.hostname=localhost rwth.rmi.model.server.RMIServer 10101 autopilots --no-zookeeper \ - no_time os=linux +CMD exec bash -c "source ~/.bashrc && java -jar rmi-model-server.jar -Djava.rmi.server.hostname=localhost port=10101 autopilots_folder=autopilots no-zookeeper \ + no_time os=windows" diff --git a/docker/build.sh b/docker/build.sh old mode 100644 new mode 100755 index c52b23d7d6e42f666855b4c87159309b3c6fb447..06c302d0837aa47d365ccdd082f1344c22065191 --- a/docker/build.sh +++ b/docker/build.sh @@ -7,8 +7,7 @@ # -rm rmi-model-server-*.jar -cp ../target/rmi-model-server-*-jar-with-dependencies.jar ./rmi-model-server.jar -cp ../install/HardwareEmulator.so ./ +cp ../install/rmi-model-server.jar ./ +cp -r ../install/autopilots ./autopilots docker build -t rmi-server .