Switch build to distributed config; universal Dockerfile

This commit is contained in:
Bengt Giger 2020-12-17 17:02:46 +01:00
parent a0367df667
commit 129e3e305a
3 changed files with 61 additions and 11 deletions

View file

@ -1,3 +1,7 @@
# On pushing to master branch, build and push docker images with tags
# - latest
# - shorted SHA
name: latest
on:
@ -25,25 +29,38 @@ jobs:
# MYSQL_ROOT_PASSWORD: somePW
# MYSQL_ALLOW_EMPTY_PASSWORD: yes
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
-
name: Get short SHA
uses: benjlevesque/short-sha@v1.2
id: short-sha
-
name: Store short SHA as environment variable
run: echo $SHA
env:
SHA: ${{ steps.short-sha.outputs.sha }}
-
name: Checkout repository
uses: actions/checkout@v2
- name: Set up JDK11
-
name: Set up JDK11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Cache Maven packages
-
name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build with maven
run: mvn clean package -DskipTests -Dbuild-version="demo"
- uses: actions/upload-artifact@v2
-
name: Build with maven
run: mvn clean package -DskipTests -Dbuild-version="${{ env.SHA }}"
-
uses: actions/upload-artifact@v2
with:
name: Package
path: target/seb-server-demo.jar
@ -86,8 +103,8 @@ jobs:
uses: docker/build-push-action@v2
with:
context: .
file: ./docker/demo/Dockerfile
file: ./docker/testing/distributed/sebuniversal.Dockerfile
push: true
tags: |
bengig/seb-server:demo
bengig/seb-server:${{ github.sha }}
bengig/seb-server:latest
bengig/seb-server:${{ env.SHA }}

View file

@ -8,7 +8,7 @@ ENV SERVER_PWD=somePW
RUN groupadd --system spring && useradd --system --gid spring spring
# TODO: this shouldn't be necessary, log to stdout instead
RUN mkdir -p /sebserver/log && touch /sebserver/log/sebserver.log && chown -R spring:spring /sebserver/log
# RUN mkdir -p /sebserver/log && touch /sebserver/log/sebserver.log && chown -R spring:spring /sebserver/log
USER spring:spring

View file

@ -0,0 +1,33 @@
FROM openjdk:11-jre-stretch
ENV SEBSERVER_MODE="webservice"
ENV SERVER_PORT="8080"
ENV SECRET=somePW
RUN groupadd --system spring && useradd --system --gid spring spring
USER spring:spring
COPY docker/testing/distributed/webservice/config/ /sebserver/config/
COPY /sebserver/target/seb-server.jar /sebserver/seb-server.jar
WORKDIR /sebserver
CMD if [ ${SEBSERVER_MODE} == "gui" ]; then exec java \
-Xms64M \
-Xmx1G \
-jar "seb-server.jar" \
--spring.profiles.active=gui,prod,prod-gui \
--spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
--sebserver.password="${SECRET}" ; \
else \
exec java \
-Xms64M \
-Xmx1G \
-jar "${SEBSERVER_JAR}" \
--spring.profiles.active=ws,prod,prod-ws \
--spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
--sebserver.mariadb.password="${SECRET}" \
--sebserver.password="${SECRET}" ; \
fi;
EXPOSE 8080