Skip to content

Commit 9b8944d

Browse files
refactor: improve Docker build workflow by restructuring tag determination and historical tagging
1 parent 84cadee commit 9b8944d

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

.github/workflows/docker-build-and-push.yml

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- dev
88
- demo
99
- hotfix
10+
- feature/psl-conregchanges
1011
pull_request:
1112
types:
1213
- opened
@@ -18,8 +19,7 @@ on:
1819
- dev
1920
- demo
2021
- hotfix
21-
- feature/psl-conregchanges
22-
workflow_dispatch:
22+
workflow_dispatch:
2323

2424
jobs:
2525
build-and-push:
@@ -33,18 +33,20 @@ jobs:
3333
uses: docker/setup-buildx-action@v1
3434

3535
- name: Log in to Azure Container Registry
36-
if: ${{ (github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'feature/psl-conregchanges') }}
36+
if: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'feature/psl-conregchanges' }}
3737
uses: azure/docker-login@v2
3838
with:
3939
login-server: ${{ secrets.ACR_LOGIN_SERVER }}
4040
username: ${{ secrets.ACR_USERNAME }}
4141
password: ${{ secrets.ACR_PASSWORD }}
4242

43-
- name: Set Docker image tag
43+
- name: Get current date
44+
id: date
45+
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
46+
47+
- name: Determine Tag Name Based on Branch
48+
id: determine_tag
4449
run: |
45-
DATE_TAG=$(date +'%Y-%m-%d')
46-
RUN_ID=${{ github.run_number }}
47-
4850
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
4951
echo "TAG=latest" >> $GITHUB_ENV
5052
elif [[ "${{ github.ref }}" == "refs/heads/dev" ]]; then
@@ -58,12 +60,17 @@ jobs:
5860
else
5961
echo "TAG=pullrequest-ignore" >> $GITHUB_ENV
6062
fi
61-
62-
echo "HISTORICAL_TAG=${TAG}_${DATE_TAG}_${RUN_ID}" >> $GITHUB_ENV
63-
64-
63+
64+
- name: Set Historical Tag
65+
run: |
66+
DATE_TAG=$(date +'%Y-%m-%d')
67+
RUN_ID=${{ github.run_number }}
68+
# Create historical tag using TAG, DATE_TAG, and RUN_ID
69+
echo "HISTORICAL_TAG=${{ env.TAG }}_${DATE_TAG}_${RUN_ID}" >> $GITHUB_ENV
70+
6571
- name: Build and push Docker images optionally
6672
run: |
73+
# Backend Image Build and Push
6774
cd src/backend
6875
docker build -t ${{ secrets.ACR_LOGIN_SERVER }}/macaebackend:${{ env.TAG }} -f Dockerfile . && \
6976
docker tag ${{ secrets.ACR_LOGIN_SERVER }}/macaebackend:${{ env.TAG }} ${{ secrets.ACR_LOGIN_SERVER }}/macaebackend:${{ env.HISTORICAL_TAG }} && \
@@ -75,6 +82,8 @@ jobs:
7582
else
7683
echo "Skipping Docker push for backend with tag: ${{ env.TAG }}"
7784
fi
85+
86+
# Frontend Image Build and Push
7887
cd ../frontend
7988
docker build -t ${{ secrets.ACR_LOGIN_SERVER }}/macaefrontend:${{ env.TAG }} -f Dockerfile . && \
8089
docker tag ${{ secrets.ACR_LOGIN_SERVER }}/macaefrontend:${{ env.TAG }} ${{ secrets.ACR_LOGIN_SERVER }}/macaefrontend:${{ env.HISTORICAL_TAG }} && \
@@ -86,5 +95,3 @@ jobs:
8695
else
8796
echo "Skipping Docker push for frontend with tag: ${{ env.TAG }}"
8897
fi
89-
90-

0 commit comments

Comments
 (0)