Delete unnecessary api endpoints, change compose and add README.md #97
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Ekb radio push to Docker and deploy | |
on: [push] | |
jobs: | |
build_prod_backend_and_push_to_docker_hub: | |
if: | |
contains('main', github.ref_name) | |
name: Push Docker image to Docker Hub Prod backend | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Push to Docker Hub | |
uses: docker/build-push-action@v5 | |
with: | |
context: backend/ | |
file: backend/Dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_PROD_BACK_IMAGE }} | |
build_prod_frontend_and_push_to_docker_hub: | |
if: | |
contains('main', github.ref_name) | |
name: Push Docker image to Docker Hub Prod frontend | |
runs-on: ubuntu-latest | |
needs: build_prod_backend_and_push_to_docker_hub | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Push to Docker Hub | |
uses: docker/build-push-action@v5 | |
with: | |
context: frontend/ | |
file: frontend/DockerfileProd | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_PROD_FRONT_IMAGE }} | |
deploy_production: | |
if: | |
contains('main', github.ref_name) | |
runs-on: ubuntu-latest | |
needs: [build_prod_backend_and_push_to_docker_hub, build_prod_frontend_and_push_to_docker_hub] | |
steps: | |
- name: executing remote ssh commands to deploy | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.PROD_HOST }} | |
port: ${{ secrets.PROD_PORT }} | |
username: ${{ secrets.PROD_USER }} | |
key: ${{ secrets.PROD_SSH_KEY }} | |
passphrase: ${{ secrets.PROD_PASSPHRASE }} | |
script: | | |
docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_PROD_BACK_IMAGE }} | |
docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_PROD_FRONT_IMAGE }} | |
docker compose stop | |
docker compose up -d | |
send_message_prod: | |
runs-on: ubuntu-latest | |
needs: [build_prod_backend_and_push_to_docker_hub, build_prod_frontend_and_push_to_docker_hub, deploy_production] | |
steps: | |
- name: Send message after successful production deployment | |
uses: appleboy/telegram-action@master | |
with: | |
to: ${{ secrets.TELEGRAM_TO }} | |
token: ${{ secrets.TELEGRAM_TOKEN }} | |
message: ${{ github.workflow }} успешно выполнен! |