From 0ee99ed0d68a3ef4d439fd42e4c401fff2cfb35b Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 17:48:05 +0300 Subject: [PATCH 01/10] Create gradle-publish.yml --- .github/workflows/gradle-publish.yml | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/gradle-publish.yml diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml new file mode 100644 index 000000000..3e301337a --- /dev/null +++ b/.github/workflows/gradle-publish.yml @@ -0,0 +1,45 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle + +name: Gradle Package + +on: + release: + types: [created] + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Build with Gradle + uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25 # v2.6.0 + with: + arguments: build + + # The USERNAME and TOKEN need to correspond to the credentials environment variables used in + # the publishing section of your build.gradle + - name: Publish to GitHub Packages + uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25 # v2.6.0 + with: + arguments: publish + env: + USERNAME: ${{ github.actor }} + TOKEN: ${{ secrets.GITHUB_TOKEN }} From 51097630830c22dbee2aad9427d2399d3b2f6999 Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 18:57:58 +0300 Subject: [PATCH 02/10] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a429a2a98..7c82453cf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - name: Build and Push Docker Image uses: mr-smithers-excellent/docker-build-push@v4 with: - image: nanajanashia/demo-app + image: bruklemma/java-demo-app registry: docker.io username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} From 953a9f8c1be3499d731eaa4e3aa43203199a64fd Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:05:23 +0300 Subject: [PATCH 03/10] Update ci.yml --- .github/workflows/ci.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c82453cf..ea6fa4d21 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,10 +29,11 @@ jobs: run: ./gradlew build - name: Build and Push Docker Image - uses: mr-smithers-excellent/docker-build-push@v4 - with: - image: bruklemma/java-demo-app - registry: docker.io - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and Push Docker Image + run: | + cp build/libs/my-app-1.0-SNAPSHOT.jar ./docker-context/ + docker build -t bruklemma/java-demo-app ./docker-context + docker login docker.io -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + docker push bruklemma/java-demo-app + From a8915baff7cf2bc5f2ba837a8724410f651a04f4 Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:06:43 +0300 Subject: [PATCH 04/10] Update ci.yml --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea6fa4d21..f64bea558 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,6 @@ jobs: - name: Build with Gradle run: ./gradlew build - - name: Build and Push Docker Image - name: Build and Push Docker Image run: | cp build/libs/my-app-1.0-SNAPSHOT.jar ./docker-context/ From 71adf70f32d3ce796d951fe4af93e68b97fcfdd4 Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:16:50 +0300 Subject: [PATCH 05/10] Update ci.yml --- .github/workflows/ci.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f64bea558..679b82996 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,3 @@ -# This workflow will build a Java project with Gradle -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle - name: Java CI with Gradle on: @@ -28,11 +25,16 @@ jobs: - name: Build with Gradle run: ./gradlew build + # New step to list JAR files in build/libs + - name: List JAR files in build/libs + run: ls build/libs/ + + # Updated step to copy JAR file using a wildcard + - name: Copy JAR file to Docker context + run: cp build/libs/*.jar ./docker-context/ + - name: Build and Push Docker Image run: | - cp build/libs/my-app-1.0-SNAPSHOT.jar ./docker-context/ docker build -t bruklemma/java-demo-app ./docker-context docker login docker.io -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} docker push bruklemma/java-demo-app - - From 5333536f5ab398d7292ad3f8d769c995620ebd7a Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:19:56 +0300 Subject: [PATCH 06/10] Update ci.yml --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 679b82996..73f279a6b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,11 +25,13 @@ jobs: - name: Build with Gradle run: ./gradlew build - # New step to list JAR files in build/libs - name: List JAR files in build/libs run: ls build/libs/ - # Updated step to copy JAR file using a wildcard + # New step to create the docker-context directory if it doesn't exist + - name: Create Docker context directory + run: mkdir -p ./docker-context/ + - name: Copy JAR file to Docker context run: cp build/libs/*.jar ./docker-context/ From f9e1297c6ef872b00da58edc56de9849c8c55fb8 Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:25:02 +0300 Subject: [PATCH 07/10] Update ci.yml --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73f279a6b..6c200c26c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,13 +28,16 @@ jobs: - name: List JAR files in build/libs run: ls build/libs/ - # New step to create the docker-context directory if it doesn't exist - name: Create Docker context directory run: mkdir -p ./docker-context/ - name: Copy JAR file to Docker context run: cp build/libs/*.jar ./docker-context/ + # New step to list the contents of the Docker context directory + - name: List contents of Docker context directory + run: ls -al ./docker-context/ + - name: Build and Push Docker Image run: | docker build -t bruklemma/java-demo-app ./docker-context From baca2b26aece54bab5e52e849ce21e77720c9929 Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:32:11 +0300 Subject: [PATCH 08/10] Update ci.yml --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c200c26c..6ff64c814 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,12 +34,11 @@ jobs: - name: Copy JAR file to Docker context run: cp build/libs/*.jar ./docker-context/ - # New step to list the contents of the Docker context directory - name: List contents of Docker context directory run: ls -al ./docker-context/ - name: Build and Push Docker Image run: | - docker build -t bruklemma/java-demo-app ./docker-context + docker build -t ***/java-demo-app -f Dockerfile ./docker-context docker login docker.io -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - docker push bruklemma/java-demo-app + docker push ***/java-demo-app From f5a16a69db015bae23addcb06365cc264e9e08eb Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:35:53 +0300 Subject: [PATCH 09/10] Update ci.yml --- .github/workflows/ci.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ff64c814..38fdb1208 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,9 +36,12 @@ jobs: - name: List contents of Docker context directory run: ls -al ./docker-context/ - + - name: Build and Push Docker Image - run: | - docker build -t ***/java-demo-app -f Dockerfile ./docker-context - docker login docker.io -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - docker push ***/java-demo-app + uses: mr-smithers-excellent/docker-build-push@v4 + with: + image: bruklemma/java-demo-app + registry: docker.io + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + From 54c91d2808d73d34dccc76accb64c806d89836c5 Mon Sep 17 00:00:00 2001 From: Bruk Lemma <84085735+bruk-lemma@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:38:30 +0300 Subject: [PATCH 10/10] Update ci.yml --- .github/workflows/ci.yml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 38fdb1208..f73c82211 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,3 +1,6 @@ +# This workflow will build a Java project with Gradle +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle + name: Java CI with Gradle on: @@ -24,18 +27,6 @@ jobs: - name: Build with Gradle run: ./gradlew build - - - name: List JAR files in build/libs - run: ls build/libs/ - - - name: Create Docker context directory - run: mkdir -p ./docker-context/ - - - name: Copy JAR file to Docker context - run: cp build/libs/*.jar ./docker-context/ - - - name: List contents of Docker context directory - run: ls -al ./docker-context/ - name: Build and Push Docker Image uses: mr-smithers-excellent/docker-build-push@v4