From 5f56b2e053a13feed43ff04ef5eacb511182ad7b Mon Sep 17 00:00:00 2001
From: Mark Prins <1165786+mprins@users.noreply.github.com>
Date: Tue, 14 Jan 2025 12:09:35 +0100
Subject: [PATCH] PMW-46: make it possible to push (tagged) images using Maven
as noted in the pom file some developer environment setup is required
---
.github/maven-settings.xml | 17 +++++++++--
.github/workflows/codeql-analysis.yml | 2 +-
.github/workflows/owasp-dependency-check.yml | 2 +-
.github/workflows/qa.yml | 2 +-
.github/workflows/ubuntu-maven.yml | 9 ++----
pom.xml | 31 +++++++++++++-------
6 files changed, 42 insertions(+), 21 deletions(-)
diff --git a/.github/maven-settings.xml b/.github/maven-settings.xml
index df0e48a..478a8c9 100644
--- a/.github/maven-settings.xml
+++ b/.github/maven-settings.xml
@@ -17,6 +17,19 @@
-
-
+
+
+ docker-deploy
+
+ true
+
+
+ ${env.GITHUB_ACTOR}
+ ${env.GITHUB_TOKEN}
+
+
+
+
+ docker-deploy
+
\ No newline at end of file
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index f6276fb..41a3bd4 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -2,7 +2,7 @@ name: "CodeQL"
env:
MAVEN_OPTS: -Djava.awt.headless=true
- MAVEN_VERSION: '3.9.7'
+ MAVEN_VERSION: '3.9.9'
concurrency: # More info: https://stackoverflow.com/a/68422069/253468
group: ${{ github.workflow }}-${{ ( github.ref == 'refs/heads/main' || github.ref == 'refs/heads/release' ) && format('ci-master-{0}', github.sha) || format('ci-master-{0}', github.ref) }}
diff --git a/.github/workflows/owasp-dependency-check.yml b/.github/workflows/owasp-dependency-check.yml
index c370154..e181e97 100644
--- a/.github/workflows/owasp-dependency-check.yml
+++ b/.github/workflows/owasp-dependency-check.yml
@@ -2,7 +2,7 @@ name: OWASP
env:
MAVEN_OPTS: -Djava.awt.headless=true
- MAVEN_VERSION: '3.9.7'
+ MAVEN_VERSION: '3.9.9'
concurrency:
# More info: https://stackoverflow.com/a/68422069/253468
diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml
index 86d3d5d..b344b4e 100644
--- a/.github/workflows/qa.yml
+++ b/.github/workflows/qa.yml
@@ -2,7 +2,7 @@ name: 'Ubuntu QA Maven build'
env:
MAVEN_OPTS: -Djava.awt.headless=true
- MAVEN_VERSION: '3.9.7'
+ MAVEN_VERSION: '3.9.9'
concurrency:
# More info: https://stackoverflow.com/a/68422069/253468
diff --git a/.github/workflows/ubuntu-maven.yml b/.github/workflows/ubuntu-maven.yml
index 4930c5d..fad5707 100644
--- a/.github/workflows/ubuntu-maven.yml
+++ b/.github/workflows/ubuntu-maven.yml
@@ -6,7 +6,7 @@ concurrency: # More info: https://stackoverflow.com/a/68422069/253468
env:
MAVEN_OPTS: -Djava.awt.headless=true
- MAVEN_VERSION: '3.9.7'
+ MAVEN_VERSION: '3.9.9'
on:
push:
@@ -129,16 +129,13 @@ jobs:
- name: Build and Push
# no need to run any QC or tests
- # note deploy will deploy both Maven artifact as well as Docker image
+ # note deploy will deploy both Maven artifact and Docker image
env:
B3P_DEPLOY_ACTOR: ${{ secrets.B3P_DEPLOY_ACTOR }}
B3P_DEPLOY_TOKEN: ${{ secrets.B3P_DEPLOY_TOKEN }}
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- docker run --privileged --rm tonistiigi/binfmt --install arm64
- mvn -B -V -fae -DskipTests -DskipITs -DskipQA=true -Pqa-skip clean deploy --settings .github/maven-settings.xml
- docker push ghcr.io/b3partners/planmonitor-wonen-api:snapshot
+ run: mvn -B -V -fae -DskipTests -DskipITs -DskipQA=true -Ddocker.publish=true -Pqa-skip clean deploy --settings .github/maven-settings.xml
cleanup:
diff --git a/pom.xml b/pom.xml
index 0bd32f3..5299346 100644
--- a/pom.xml
+++ b/pom.xml
@@ -143,6 +143,9 @@ SPDX-License-Identifier: MIT
ghcr.io
false
ALWAYS
+ false
+ ${docker.deploy.repo}/b3partners/${project.artifactId}:snapshot
+
false
false
@@ -445,11 +448,9 @@ SPDX-License-Identifier: MIT
120
- ${docker.deploy.repo}/b3partners/${project.artifactId}:snapshot
-
-
-
- false
+ ${docker.image.name}
+ ${docker.image.tags}
+ ${docker.publish}
${project.scm.url}
@@ -467,9 +468,15 @@ SPDX-License-Identifier: MIT
-
-
-
+
+ ${docker.deploy-username}
+ ${docker.deploy-password}
@@ -910,7 +917,7 @@ SPDX-License-Identifier: MIT
Aggregate Test Coverage
${project.reporting.outputDirectory}/jacoco
-
+
${project.build.directory}/jacoco.exec
@@ -942,7 +949,11 @@ SPDX-License-Identifier: MIT
release
-
+
+ true
+ ${docker.deploy.repo}/b3partners/${project.artifactId}:${project.version}
+ ${docker.deploy.repo}/b3partners/${project.artifactId}:latest
+