Skip to content

Merge pull request #215 from BinaryStudioAcademy/bugfix/126-scroll-ma… #182

Merge pull request #215 from BinaryStudioAcademy/bugfix/126-scroll-ma…

Merge pull request #215 from BinaryStudioAcademy/bugfix/126-scroll-ma… #182

name: Continuous Delivery
on:
push:
branches: [ dev ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build_core_service:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push Core Service
uses: docker/build-push-action@v4
with:
tags: tatihutii/leetwars_core:latest
context: ./backend
file: ./backend/LeetWars.Core/Dockerfile
build-args: PROJECT_PORT=5050
push: true
build_notifier_service:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push Notifier Service
uses: docker/build-push-action@v4
with:
tags: tatihutii/leetwars_notifier:latest
context: ./backend
file: ./backend/LeetWars.Notifier/Dockerfile
build-args: PROJECT_PORT=5070
push: true
build_builder_service:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push Notifier Service
uses: docker/build-push-action@v4
with:
tags: tatihutii/leetwars_builder:latest
context: ./backend
file: ./backend/LeetWars.Builder/Dockerfile
build-args: PROJECT_PORT=5090
push: true
build_emailer_service:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push Emailer Service
uses: docker/build-push-action@v4
with:
tags: tatihutii/leetwars_emailer:latest
context: ./backend
file: ./backend/LeetWars.Emailer/Dockerfile
build-args: PROJECT_PORT=5080
push: true
build_codeanalyzer:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push Сodeanalyze Service
uses: docker/build-push-action@v4
with:
tags: tatihutii/leetwars_codeanalyzer:latest
context: ./backend
file: ./backend/LeetWars.CodeAnalyzer/Dockerfile
build-args: PROJECT_PORT=5100
push: true
build_frontend:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build Frontend
uses: docker/build-push-action@v4
with:
tags: tatihutii/leetwars_frontend:latest
context: ./frontend
build-args: |
"NG_APP_FIREBASE_API_KEY=${{ secrets.NG_APP_FIREBASE_API_KEY }}"
"NG_APP_FIREBASE_MESSAGING_SENDER_ID=${{ secrets.NG_APP_FIREBASE_MESSAGING_SENDER_ID }}"
"NG_APP_FIREBASE_APP_ID=${{ secrets.NG_APP_FIREBASE_APP_ID }}"
push: true
deploy_images:
runs-on: ubuntu-latest
needs: [ build_core_service, build_notifier_service, build_builder_service, build_emailer_service, build_codeanalyzer, build_frontend ]
steps:
- uses: actions/checkout@v3
- name: Update PROD images
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.HOST_USERNAME }}
password: ${{ secrets.HOST_PASSWORD }}
script: cd ~/bsa-2023-leetwars && sudo docker-compose -f docker-compose.apps.prod.yml stop && sudo docker-compose -f docker-compose.apps.prod.yml pull && sudo docker system prune -f && sudo docker-compose -f docker-compose.apps.prod.yml up -d