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
|
||||
|
||||
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 }}
|
|
@ -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
|
||||
|
||||
|
|
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