From 7c4d6defb73e579bd31dd415cacef9a27d1799f3 Mon Sep 17 00:00:00 2001 From: jaguililla Date: Mon, 2 Sep 2024 20:31:38 +0200 Subject: [PATCH] Improve :CI --- .github/workflows/release.yml | 5 ++++- .gitlab-ci.yml | 8 +++++--- ci_settings.xml => .mvn/ci_settings.xml | 0 CONTRIBUTING.md | 15 +++++++++++++++ README.md | 13 +++++-------- 5 files changed, 29 insertions(+), 12 deletions(-) rename ci_settings.xml => .mvn/ci_settings.xml (100%) create mode 100644 CONTRIBUTING.md diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index df6f67e..52ff644 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,8 +45,11 @@ jobs: export REGISTRY_USERNAME="${GITHUB_ACTOR}" export REGISTRY_PASSWORD="${GITHUB_TOKEN}" export POM_VERSION="$(mvn help:evaluate -D expression=project.version -q -D forceStdout)" + export MAVEN_ARGS="--quiet --batch-mode" + export CI_PUBLISH="spring-boot.build-image.publish=true" + export IMG_REGISTRY="image.registry=ghcr.io/jaguililla/hexagonal_spring" - ./mvnw -D image.registry=ghcr.io/jaguililla/hexagonal_spring -D spring-boot.build-image.publish=true -B deploy + ./mvnw -D ${IMG_REGISTRY} -D ${CI_PUBLISH} deploy git config --global user.name "${GITHUB_ACTOR}" git tag -m "Release ${POM_VERSION}" "${POM_VERSION}" diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 363ddca..d2e8f33 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,11 +50,13 @@ publish: - export CONTROLLERS_PATH='com/github/jaguililla/appointments/http/controllers' - export REPOSITORY="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven" - export ALT_REPOSITORY="altDeploymentRepository=gitlab::default::${REPOSITORY}" - - export IMG_REGISTRY="${CI_REGISTRY}/jaguililla/hexagonal_spring" + - export IMG_REGISTRY="image.registry=${CI_REGISTRY}/jaguililla/hexagonal_spring" - export POM_VERSION="$(mvn help:evaluate -D expression=project.version -q -D forceStdout)" - - ./mvnw -s ci_settings.xml -D ${ALT_REPOSITORY} -D image.registry=${IMG_REGISTRY} -D spring-boot.build-image.publish=true -B deploy + - export CI_PUBLISH="spring-boot.build-image.publish=true" + - export MAVEN_ARGS="--quiet --batch-mode --settings .mvn/ci_settings.xml" + - ./mvnw -D ${ALT_REPOSITORY} -D ${IMG_REGISTRY} -D ${CI_PUBLISH} deploy - rm -rf "${CLIENT_PATH}/src/main/java/${CONTROLLERS_PATH}" - - mvn -s ci_settings.xml -f "${CLIENT_PATH}/pom.xml" -B -D ${ALT_REPOSITORY} clean deploy + - mvn -f "${CLIENT_PATH}/pom.xml" -D ${ALT_REPOSITORY} clean deploy - echo "POM_VERSION=${POM_VERSION}" >> variables.env artifacts: reports: diff --git a/ci_settings.xml b/.mvn/ci_settings.xml similarity index 100% rename from ci_settings.xml rename to .mvn/ci_settings.xml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..0e6269d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,15 @@ + +# Contributing +You can contribute code, documentation, or share feedback. + +Opinions are welcomed (with proper reasoning), personal preferences (like naming, libraries' +alternatives, etc.) should be posted in the [discussions][Discussions] section. + +To share feedback, you can use the following tools: +* [Issues]: to report bugs, or request new features +* [Discussions]: to raise questions about the implementation decisions, propose alternatives, etc. +* [Pull Requests]: to fix problems (i.e.: implementing TODOs or fixing bugs) + +[Issues]: https://github.com/jaguililla/hexagonal_spring/issues +[Discussions]: https://github.com/jaguililla/hexagonal_spring/discussions +[Pull Requests]: https://github.com/jaguililla/hexagonal_spring/pulls diff --git a/README.md b/README.md index 68047aa..e5176ad 100644 --- a/README.md +++ b/README.md @@ -2,20 +2,17 @@ > # 🎯 ABOUT > This is a 'best practices' template project. However, it is an opinionated take on that. > -> DISCLAIMER: I'm by no means an expert on Spring Boot (it's not even my preferred tool), one reason -> to do this is to learn. Opinions are welcomed (with proper reasoning), personal opinions (like -> naming, libraries, etc.) should be posted in the discussions section. -> -> To share feedback, you can use the following tools: -> * Issues: to report bugs, or request new features -> * Discussions: to raise questions about the implementation decisions, propose alternatives, etc. -> * Pull Requests: to fix problems (i.e.: implementing TODOs or fixing bugs) +> DISCLAIMER: I'm by no means an expert on Spring Boot, one reason to do this is to learn it. +> Opinions are welcomed (with proper reasoning), check the [contributing] section to share your +> thoughts. > > The project is mirrored on [GitLab](https://gitlab.com/jaguililla/hexagonal_spring) for CI > demonstration purposes. > > Have fun! +[contributing]: https://github.com/jaguililla/hexagonal_spring/contribute + # 🗓️ Appointments Application to create appointments (REST API). Appointments are stored in a relational DB (Postgres), and their creation/deletion is published to a Kafka broker.