restore Docker workflow

This commit is contained in:
Athou
2024-08-11 22:04:35 +02:00
parent cc32f8ad16
commit 09e0a51b46
7 changed files with 86 additions and 27 deletions

View File

@@ -1,7 +0,0 @@
# ignore everything
*
# allow only what we need
!commafeed-server/target/commafeed.jar
!commafeed-server/config.yml.example

View File

@@ -1,4 +1,4 @@
name: Java CI
name: ci
on: [ push ]
@@ -43,3 +43,55 @@ jobs:
with:
name: commafeed-${{ matrix.database }}-${{ runner.os }}-${{ runner.arch }}
path: commafeed-server/target/commafeed-*-runner
# Docker
- name: Login to Container Registry
uses: docker/login-action@v3
if: ${{ github.ref_type == 'tag' || github.ref_name == 'master' }}
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker build and push tag - native
uses: docker/build-push-action@v6
if: ${{ github.ref_type == 'tag' }}
with:
context: commafeed-server
file: src/main/docker/Dockerfile.native
push: true
platforms: linux/amd64
tags: |
athou/commafeed:latest
athou/commafeed:${{ github.ref_name }}
- name: Docker build and push tag - jvm
uses: docker/build-push-action@v6
if: ${{ github.ref_type == 'tag' }}
with:
context: commafeed-server
file: src/main/docker/Dockerfile.jvm
push: true
platforms: linux/amd64,linux/arm64/v8
tags: |
athou/commafeed:latest-jvm
athou/commafeed:${{ github.ref_name }}-jvm
- name: Docker build and push master - native
uses: docker/build-push-action@v6
if: ${{ github.ref_name == 'master' }}
with:
context: commafeed-server
file: src/main/docker/Dockerfile.native
push: true
platforms: linux/amd64
tags: athou/commafeed:master
- name: Docker build and push master - jvm
uses: docker/build-push-action@v6
if: ${{ github.ref_name == 'master' }}
with:
context: commafeed-server
file: src/main/docker/Dockerfile.jvm
push: true
platforms: linux/amd64
tags: athou/commafeed:master-jvm

View File

@@ -1,19 +0,0 @@
FROM ibm-semeru-runtimes:open-21.0.4_7-jre
EXPOSE 8082
RUN mkdir -p /commafeed/data
VOLUME /commafeed/data
COPY commafeed-server/config.yml.example config.yml
COPY commafeed-server/target/commafeed.jar .
CMD ["java", \
"-Djava.net.preferIPv4Stack=true", \
"-Xtune:virtualized", \
"-Xminf0.05", \
"-Xmaxf0.1", \
"-jar", \
"commafeed.jar", \
"server", \
"config.yml"]

View File

@@ -8,7 +8,9 @@ MVP:
- cookie duration too short
- https://github.com/quarkusio/quarkus/issues/42463
- mvn profile instead of -Dquarkus.datasource.db-kind
- update dockerfile
- release after tag (new job that downloads all artifacts because we need them all to create the release)
- update github actions (build and copy outside target each database artifact)
- update readme
- update release notes (+ mention h2 migration has been removed, upgrade to last 4.x is required)

View File

@@ -0,0 +1,16 @@
FROM ibm-semeru-runtimes:open-21.0.3_9-jre
EXPOSE 8082
RUN mkdir -p /commafeed/data
VOLUME /commafeed/data
COPY commafeed-server/target/quarkus-app/ /commafeed/app
WORKDIR /commafeed/app
CMD ["java", \
"-Xtune:virtualized", \
"-Xminf0.05", \
"-Xmaxf0.1", \
"-jar", \
"quarkus-run.jar"]

View File

@@ -0,0 +1,9 @@
FROM debian:12.6
EXPOSE 8082
RUN mkdir -p /commafeed/data
VOLUME /commafeed/data
COPY commafeed-server/target/commafeed-*-runner /commafeed/app/application
WORKDIR /commafeed/app
CMD ["./application"]

View File

@@ -41,3 +41,9 @@ quarkus.shutdown.timeout=5s
%test.commafeed.smtp.user-name=user
%test.commafeed.smtp.password=pass
%test.commafeed.smtp.from-address=noreply@commafeed.com
# prod profile overrides
%prod.quarkus.datasource.jdbc.url=jdbc:h2:/commafeed/data/db;DEFRAG_ALWAYS=TRUE
%prod.quarkus.datasource.username=sa
%prod.quarkus.datasource.password=sa