Skip to content

Commit 89fa1d0

Browse files
author
David Bernabeu Ferrer
committed
Añadimos build del consumer
1 parent 7740a6b commit 89fa1d0

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Build and Publish Consumer Image (Main)
2+
3+
on:
4+
push:
5+
branches:
6+
- "main"
7+
- "feature/deployment"
8+
paths:
9+
- 'consumers/consumer/src/**'
10+
- 'consumers/consumer-base/Dockerfile'
11+
- '.github/workflows/consumer-build.yml'
12+
13+
concurrency:
14+
group: consumer-main
15+
cancel-in-progress: true
16+
17+
jobs:
18+
# ------------------------------
19+
# 1. BUILD & PUSH CONSUMER DOCKER IMAGE
20+
# ------------------------------
21+
build-and-push-consumer:
22+
runs-on: ubuntu-latest
23+
24+
permissions:
25+
contents: read
26+
packages: write
27+
id-token: write
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
33+
# -------- LOGIN GHCR --------
34+
- name: Login to GHCR
35+
uses: docker/login-action@v3
36+
with:
37+
registry: ghcr.io
38+
username: ${{ github.actor }}
39+
password: ${{ secrets.GITHUB_TOKEN }}
40+
41+
# -------- GRADLE BUILD --------
42+
- name: Set up JDK 17
43+
uses: actions/setup-java@v4
44+
with:
45+
distribution: temurin
46+
java-version: 17
47+
48+
- name: Make Gradle executable
49+
run: chmod +x ./gradlew
50+
51+
- name: Build consumer JAR
52+
run: |
53+
./gradlew clean build
54+
55+
# ---------------------------------
56+
57+
- name: Set dynamic tags for Consumer
58+
id: vars
59+
run: |
60+
IMAGE_BASE_CONSUMER="ghcr.io/wake-ua/consumer-base"
61+
DATE=$(date +%Y%m%d)
62+
SHA_SHORT=$(echo "${GITHUB_SHA}" | cut -c1-7)
63+
64+
# Tags for consumer image
65+
echo "CONSUMER_LATEST=${IMAGE_BASE_CONSUMER}:latest" >> $GITHUB_OUTPUT
66+
echo "CONSUMER_SHA=${IMAGE_BASE_CONSUMER}:${SHA_SHORT}" >> $GITHUB_OUTPUT
67+
echo "CONSUMER_DATE=${IMAGE_BASE_CONSUMER}:${DATE}" >> $GITHUB_OUTPUT
68+
69+
# -------- DOCKER BUILD & PUSH --------
70+
- name: Build Docker image for Consumer
71+
run: |
72+
docker build \
73+
-t ${{ steps.vars.outputs.CONSUMER_LATEST }} \
74+
-t ${{ steps.vars.outputs.CONSUMER_SHA }} \
75+
-t ${{ steps.vars.outputs.CONSUMER_DATE }} \
76+
./consumers/consumer-base
77+
78+
- name: Push Consumer images
79+
run: |
80+
docker push ${{ steps.vars.outputs.CONSUMER_LATEST }}
81+
docker push ${{ steps.vars.outputs.CONSUMER_SHA }}
82+
docker push ${{ steps.vars.outputs.CONSUMER_DATE }}
83+
# ---------------------------------
84+
85+

0 commit comments

Comments
 (0)