Switch build to distributed config; universal Dockerfile
This commit is contained in:
parent
a0367df667
commit
129e3e305a
3 changed files with 61 additions and 11 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
# On pushing to master branch, build and push docker images with tags
|
||||||
|
# - latest
|
||||||
|
# - shorted SHA
|
||||||
|
|
||||||
name: latest
|
name: latest
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
@ -25,25 +29,38 @@ jobs:
|
||||||
# MYSQL_ROOT_PASSWORD: somePW
|
# MYSQL_ROOT_PASSWORD: somePW
|
||||||
# MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
# MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
||||||
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
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
|
uses: actions/checkout@v2
|
||||||
- name: Set up JDK11
|
-
|
||||||
|
name: Set up JDK11
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 11
|
java-version: 11
|
||||||
- name: Cache Maven packages
|
-
|
||||||
|
name: Cache Maven packages
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: ~/.m2
|
path: ~/.m2
|
||||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
restore-keys: ${{ runner.os }}-m2
|
restore-keys: ${{ runner.os }}-m2
|
||||||
- name: Build with maven
|
-
|
||||||
run: mvn clean package -DskipTests -Dbuild-version="demo"
|
name: Build with maven
|
||||||
- uses: actions/upload-artifact@v2
|
run: mvn clean package -DskipTests -Dbuild-version="${{ env.SHA }}"
|
||||||
|
-
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: Package
|
name: Package
|
||||||
path: target/seb-server-demo.jar
|
path: target/seb-server-demo.jar
|
||||||
|
@ -86,8 +103,8 @@ jobs:
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v2
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: ./docker/demo/Dockerfile
|
file: ./docker/testing/distributed/sebuniversal.Dockerfile
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
bengig/seb-server:demo
|
bengig/seb-server:latest
|
||||||
bengig/seb-server:${{ github.sha }}
|
bengig/seb-server:${{ env.SHA }}
|
|
@ -8,7 +8,7 @@ ENV SERVER_PWD=somePW
|
||||||
RUN groupadd --system spring && useradd --system --gid spring spring
|
RUN groupadd --system spring && useradd --system --gid spring spring
|
||||||
|
|
||||||
# TODO: this shouldn't be necessary, log to stdout instead
|
# 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
|
USER spring:spring
|
||||||
|
|
||||||
|
|
33
docker/testing/distributed/sebuniversal.Dockerfile
Normal file
33
docker/testing/distributed/sebuniversal.Dockerfile
Normal 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
|
Loading…
Add table
Reference in a new issue