Skip to content

Commit 182db35

Browse files
Create docker-build-and-push.yml
1 parent c0a4dae commit 182db35

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Build and Push Docker Image
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- dev
8+
- demo
9+
pull_request:
10+
types: [closed]
11+
branches:
12+
- main
13+
- dev
14+
- demo
15+
workflow_dispatch:
16+
17+
jobs:
18+
build-and-push:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v2
24+
25+
- name: Set up Docker Buildx
26+
uses: docker/setup-buildx-action@v1
27+
28+
- name: Log in to Azure Container Registry
29+
if: ${{ github.ref_name == 'main' }}
30+
uses: azure/docker-login@v2
31+
with:
32+
login-server: ${{ secrets.ACR_LOGIN_SERVER }}
33+
username: ${{ secrets.ACR_USERNAME }}
34+
password: ${{ secrets.ACR_PASSWORD }}
35+
36+
- name: Log in to Azure Container Registry (Dev/Demo)
37+
if: ${{ github.ref_name == 'dev' || github.ref_name == 'demo' }}
38+
uses: azure/docker-login@v2
39+
with:
40+
login-server: ${{ secrets.ACR_DEV_LOGIN_SERVER }}
41+
username: ${{ secrets.ACR_DEV_USERNAME }}
42+
password: ${{ secrets.ACR_DEV_PASSWORD }}
43+
44+
- name: Set Docker image tag
45+
run: |
46+
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
47+
echo "TAG=latest" >> $GITHUB_ENV
48+
elif [[ "${{ github.ref }}" == "refs/heads/dev" ]]; then
49+
echo "TAG=dev" >> $GITHUB_ENV
50+
elif [[ "${{ github.ref }}" == "refs/heads/demo" ]]; then
51+
echo "TAG=demo" >> $GITHUB_ENV
52+
fi
53+
- name: Build and push Docker images
54+
if: ${{ github.ref_name == 'main' }}
55+
run: |
56+
cd src/backend
57+
docker build -t ${{ secrets.ACR_LOGIN_SERVER }}/macae-backend:${{ env.TAG }} -f Dockerfile . && \
58+
docker push ${{ secrets.ACR_LOGIN_SERVER }}/macae-backend:${{ env.TAG }} && \
59+
echo "Backend image built and pushed successfully."
60+
cd ../frontend
61+
docker build -t ${{ secrets.ACR_LOGIN_SERVER }}/mac-webapp:${{ env.TAG }} -f Dockerfile . && \
62+
docker push ${{ secrets.ACR_LOGIN_SERVER }}/mac-webapp:${{ env.TAG }} && \
63+
echo "Frontend image built and pushed successfully."
64+
- name: Build and push Docker images (Dev/Demo)
65+
if: ${{ github.ref_name == 'dev' || github.ref_name == 'demo' }}
66+
run: |
67+
cd src/backend
68+
docker build -t ${{ secrets.ACR_DEV_LOGIN_SERVER }}/macae-backend:${{ env.TAG }} -f Dockerfile . && \
69+
docker push ${{ secrets.ACR_DEV_LOGIN_SERVER }}/macae-backend:${{ env.TAG }} && \
70+
echo "Dev/Demo Backend image built and pushed successfully."
71+
cd ../frontend
72+
docker build -t ${{ secrets.ACR_DEV_LOGIN_SERVER }}/mac-webapp:${{ env.TAG }} -f Dockerfile . && \
73+
docker push ${{ secrets.ACR_DEV_LOGIN_SERVER }}/mac-webapp:${{ env.TAG }} && \
74+
echo "Dev/Demo Frontend image built and pushed successfully."
75+

0 commit comments

Comments
 (0)