60 lines
1.6 KiB
YAML
Executable File
60 lines
1.6 KiB
YAML
Executable File
name: Build and Push Image
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- dev
|
|
|
|
jobs:
|
|
docker:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Restore .env
|
|
run: |
|
|
docker info
|
|
env="${{ secrets.ENV_B64 }}"
|
|
length=${#env}
|
|
echo "Length: $length"
|
|
echo "${{ secrets.ENV_B64 }}" | base64 -d > .env
|
|
ls -l .env
|
|
|
|
- name: Build & Push Images
|
|
run: |
|
|
TAG=${{ gitea.sha }}
|
|
|
|
# frontend
|
|
docker build \
|
|
-t mts.dgnr.us:5000/${{ gitea.repository }}:frontend \
|
|
-t mts.dgnr.us:5000/${{ gitea.repository }}:frontend-$TAG \
|
|
. &
|
|
|
|
# backend
|
|
docker build \
|
|
-f backend.dockerfile \
|
|
-t mts.dgnr.us:5000/${{ gitea.repository }}:backend \
|
|
-t mts.dgnr.us:5000/${{ gitea.repository }}:backend-$TAG \
|
|
. &
|
|
wait
|
|
|
|
docker push mts.dgnr.us:5000/${{ gitea.repository }}:backend &
|
|
docker push mts.dgnr.us:5000/${{ gitea.repository }}:backend-$TAG &
|
|
docker push mts.dgnr.us:5000/${{ gitea.repository }}:frontend &
|
|
docker push mts.dgnr.us:5000/${{ gitea.repository }}:frontend-$TAG &
|
|
wait
|
|
|
|
- name: Deploy to production
|
|
run: |
|
|
TAG=${{ gitea.sha }}
|
|
|
|
docker service update \
|
|
--image mts.dgnr.us:5000/${{ gitea.repository }}:frontend-$TAG \
|
|
buzz_app
|
|
docker service update \
|
|
--image mts.dgnr.us:5000/${{ gitea.repository }}:backend-$TAG \
|
|
buzz_backend
|