Skip to content
This repository was archived by the owner on Mar 2, 2020. It is now read-only.

Commit 61e0842

Browse files
authored
Build docker image on travis (#461)
* Adding docker image build * Removing crazy lines (build testing) * Moving to repo root after compilation * Moving to adoptopenjdk * Fixing copy command * Enabling tests again * switch to openjdk * Using stages * Renaming Stage * Moving to base dir after every step * Refactor build script * Remove stages * Remove stages * Reafctoring * Refactoring * Changing to Java 11 again. * Update .travis.yml Enabling unit tests * Using prod-version in docker image * Enabling UI Tests * Execute unit tests before UI tests
1 parent b946476 commit 61e0842

File tree

3 files changed

+67
-75
lines changed

3 files changed

+67
-75
lines changed

.travis.yml

+52-50
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,52 @@
1-
sudo: false
2-
language:
3-
- java
4-
- node_js
5-
node_js:
6-
- '7'
7-
jdk:
8-
- openjdk11
9-
addons:
10-
sauce_connect: true
11-
apt:
12-
packages:
13-
- oracle-java8-installer
14-
env:
15-
- TERM=dumb
16-
install:
17-
- cd web && npm run init
18-
- cd ../bundles && ./gradlew --version
19-
script:
20-
- cd ../web && npm run build-prod
21-
- cd ../bundles && ./gradlew --no-daemon build export --continue
22-
- cd ../bundles/specmate-std-env/generated/distributions/executable/ && java -Xmx6000m -Djdk.crypto.KeyAgreement.legacyKDF=true -jar dev-specmate-all.jar &
23-
- sleep 10
24-
- cd ../ui-tests/ && mvn clean test
25-
after_success:
26-
- git status
27-
- echo $TRAVIS_TAG
28-
- cd bundles/specmate-std-env/generated/distributions/executable/
29-
- mv dev-specmate-all.jar dev-specmate-all-$TRAVIS_TAG.jar
30-
- mv prod-specmate-all.jar prod-specmate-all-$TRAVIS_TAG.jar
31-
- mv prod-specmate-cdo-server.jar prod-specmate-cdo-server-$TRAVIS_TAG.jar
32-
- mv prod-specmate-no-cdo-server.jar prod-specmate-no-cdo-server-$TRAVIS_TAG.jar
33-
- cd ../../../../..
34-
cache:
35-
directories:
36-
- cnf/cache/stable
37-
deploy:
38-
provider: releases
39-
skip_cleanup: true
40-
api_key:
41-
secure: eUiVeNw9rlpcaXi+bpoV4B4WFEjXCgBn6td9NRXFF9dOcJiozn5oHh6qk8g6kMHuUrGDCKcOo5fitxkNaoV1vqxNuRjo7ssPN3yG3QcUmIlsMHM2ueM+9AEyQxP1SuNXku/Vb+ATQ1F7jWUlWotcCWTPbELuhUvziwcF4zYWm2jcTL1twD3gCT9GFdovqnUnmVLHrUha4EUO8bwFlJmyaSmxH5RpcTbKK2tRagRlv/4yUajhBxaNgCXD2nBpNtV6nb2sPbybilB9gRO5d4oPurNQWb28aiobGm0+hNU5bG+MYOyF3fJWU7NaQ0tQP0M8zZ5QM/Lw8g/xMOdMaqZ2rHWPNyxFqNFsUa+H1S9f+tEmje+kvTZ7oPZRuzy90dYC1ZzwpuhG9y3qIlpnDs+9E+JRU3yASEWeb7VVZFrMJKK3wh/FEvVCduYKoTYgcckFeipkjQY1V/umfKRrlq/3ZFATBX3PKaUnHzctZ+KK2nEWBiYMLacw8JKqQSjTIGRchjLZHYpuTR2CuttfBHVH1kDs0SNd7mKsFQShzXfPDylHTT0ZyfVJ++IKaf1Ww37dmqui0FTULmVTy1vtmkcImpFX0y9WFWoOy1vI7QWM4U3YfasRBZlIigNNyLgPR3Bzg+Z+6YBVUdi4T/ulsDf7iU7ZEOD5g7fl06gfcDAKr9E=
42-
file:
43-
- bundles/specmate-std-env/generated/distributions/executable/dev-specmate-all-$TRAVIS_TAG.jar
44-
- bundles/specmate-std-env/generated/distributions/executable/prod-specmate-all-$TRAVIS_TAG.jar
45-
- bundles/specmate-std-env/generated/distributions/executable/prod-specmate-cdo-server-$TRAVIS_TAG.jar
46-
- bundles/specmate-std-env/generated/distributions/executable/prod-specmate-no-cdo-server-$TRAVIS_TAG.jar
47-
on:
48-
repo: junkerm/specmate
49-
condition: $TRAVIS_TAG =~ ^v[\.0-9]+(-dev-[0-9]+)?$
50-
tags: true
1+
sudo: false
2+
language:
3+
- java
4+
- node_js
5+
node_js:
6+
- '10'
7+
services:
8+
- docker
9+
jdk:
10+
- openjdk11
11+
addons:
12+
sauce_connect: true
13+
env:
14+
- TERM=dumb
15+
install:
16+
- cd web && npm run init
17+
- cd ../bundles && ./gradlew --version
18+
- cd ..
19+
script:
20+
- (cd web && npm run build-prod)
21+
- (cd bundles && ./gradlew --no-daemon build --continue -x check)
22+
- (cd bundles && ./gradlew --no-daemon export -x check)
23+
- (cd bundles && ./gradlew --no-daemon check)
24+
- (cd bundles/specmate-std-env/generated/distributions/executable/ && java -Xmx6000m -Djdk.crypto.KeyAgreement.legacyKDF=true -jar dev-specmate-all.jar &)
25+
- sleep 10
26+
- (cd ui-tests/ && mvn clean test)
27+
after_success:
28+
- DOCKER_TAG=$TRAVIS_BRANCH
29+
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
30+
- docker build -t ${DOCKER_USERNAME}/specmate:${DOCKER_TAG} .
31+
- docker push ${DOCKER_USERNAME}/specmate:${DOCKER_TAG}
32+
- (cd bundles/specmate-std-env/generated/distributions/executable/&& mv dev-specmate-all.jar dev-specmate-all-$TRAVIS_TAG.jar)
33+
- (cd bundles/specmate-std-env/generated/distributions/executable/&& mv prod-specmate-all.jar prod-specmate-all-$TRAVIS_TAG.jar)
34+
- (cd bundles/specmate-std-env/generated/distributions/executable/&& mv prod-specmate-cdo-server.jar prod-specmate-cdo-server-$TRAVIS_TAG.jar)
35+
- (cd bundles/specmate-std-env/generated/distributions/executable/&& mv prod-specmate-no-cdo-server.jar prod-specmate-no-cdo-server-$TRAVIS_TAG.jar)
36+
cache:
37+
directories:
38+
- cnf/cache/stable
39+
deploy:
40+
provider: releases
41+
skip_cleanup: true
42+
api_key:
43+
secure: eUiVeNw9rlpcaXi+bpoV4B4WFEjXCgBn6td9NRXFF9dOcJiozn5oHh6qk8g6kMHuUrGDCKcOo5fitxkNaoV1vqxNuRjo7ssPN3yG3QcUmIlsMHM2ueM+9AEyQxP1SuNXku/Vb+ATQ1F7jWUlWotcCWTPbELuhUvziwcF4zYWm2jcTL1twD3gCT9GFdovqnUnmVLHrUha4EUO8bwFlJmyaSmxH5RpcTbKK2tRagRlv/4yUajhBxaNgCXD2nBpNtV6nb2sPbybilB9gRO5d4oPurNQWb28aiobGm0+hNU5bG+MYOyF3fJWU7NaQ0tQP0M8zZ5QM/Lw8g/xMOdMaqZ2rHWPNyxFqNFsUa+H1S9f+tEmje+kvTZ7oPZRuzy90dYC1ZzwpuhG9y3qIlpnDs+9E+JRU3yASEWeb7VVZFrMJKK3wh/FEvVCduYKoTYgcckFeipkjQY1V/umfKRrlq/3ZFATBX3PKaUnHzctZ+KK2nEWBiYMLacw8JKqQSjTIGRchjLZHYpuTR2CuttfBHVH1kDs0SNd7mKsFQShzXfPDylHTT0ZyfVJ++IKaf1Ww37dmqui0FTULmVTy1vtmkcImpFX0y9WFWoOy1vI7QWM4U3YfasRBZlIigNNyLgPR3Bzg+Z+6YBVUdi4T/ulsDf7iU7ZEOD5g7fl06gfcDAKr9E=
44+
file:
45+
- bundles/specmate-std-env/generated/distributions/executable/dev-specmate-all-$TRAVIS_TAG.jar
46+
- bundles/specmate-std-env/generated/distributions/executable/prod-specmate-all-$TRAVIS_TAG.jar
47+
- bundles/specmate-std-env/generated/distributions/executable/prod-specmate-cdo-server-$TRAVIS_TAG.jar
48+
- bundles/specmate-std-env/generated/distributions/executable/prod-specmate-no-cdo-server-$TRAVIS_TAG.jar
49+
on:
50+
repo: junkerm/specmate
51+
condition: $TRAVIS_TAG =~ ^v[\.0-9]+(-dev-[0-9]+)?$
52+
tags: true

Dockerfile

+14-25
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,26 @@
11
FROM ubuntu:18.04
22

3-
RUN apt-get update
4-
RUN apt-get -y install curl software-properties-common build-essential
5-
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
6-
RUN add-apt-repository -y ppa:webupd8team/java
7-
RUN apt-get update
3+
RUN apt-get --fix-missing update
4+
RUN apt-get -y install wget software-properties-common
85

9-
RUN apt-get -y install nodejs
10-
RUN echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections
11-
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes --no-install-recommends oracle-java8-installer
6+
RUN mkdir /opt/adoptopenjdk
7+
WORKDIR /opt/adoptopenjdk
8+
9+
ENV JDKFILE=OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
10+
ENV JDKNAME=jdk-11.0.3+7
11+
ENV JDKDIR=jdk-11.0.3+7
12+
ENV JDKVERSION=11
13+
RUN wget --quiet https://github.com/AdoptOpenJDK/openjdk$JDKVERSION-binaries/releases/download/$JDKNAME/$JDKFILE
14+
RUN tar -xf $JDKFILE
15+
RUN rm $JDKFILE
16+
ENV PATH="/opt/adoptopenjdk/${JDKDIR}/bin:${PATH}"
1217

1318
RUN mkdir /opt/specmate
1419
RUN mkdir /opt/specmate/database
1520
RUN mkdir /opt/specmate/conf
16-
RUN mkdir /opt/specmate/src
17-
18-
COPY web /opt/specmate/src/web
19-
COPY bundles /opt/specmate/src/bundles
20-
21-
WORKDIR /opt/specmate/src/web
22-
RUN LIBSASS_EXT="no" npm run init
23-
RUN npm run build-prod
2421

25-
WORKDIR /opt/specmate/src/bundles
26-
RUN sed -i 's/\r$//' ./gradlew
27-
RUN sed -i 's/^M$//' ./gradlew
28-
RUN ./gradlew --version
29-
RUN ./gradlew --no-daemon clean build export -x check
30-
31-
RUN cp specmate-std-env/generated/distributions/executable/dev-specmate-all.jar /opt/specmate/specmate.jar
22+
COPY bundles/specmate-std-env/generated/distributions/executable/prod-specmate-all.jar /opt/specmate/specmate.jar
3223

3324
WORKDIR /
3425

35-
RUN rm -rf /opt/specmate/src
36-
3726
CMD java -Djdk.crypto.KeyAgreement.legacyKDF=true -jar /opt/specmate/specmate.jar --configurationFile /opt/specmate/conf/specmate-config.properties

bundles/cnf/releaserepo/index.xml.sha

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0400d6060920df51e4069b81cd760256a0e891a20f37e9dc0a06c4d05a97367b

0 commit comments

Comments
 (0)