Skip to content

update cron script #236

update cron script

update cron script #236

name: blackfox workflow
on: [push]
jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pep8-naming flake8-broken-line flake8-return isort
pip install -r requirements.txt
- name: Test with flake8 and django tests
run: |
python -m flake8
build_and_push_to_docker_hub:
if: github.ref_name == 'main'
runs-on: ubuntu-latest
needs: tests
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Push to Docker Hub backend
uses: docker/build-push-action@v2
with:
context: ./
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/blackfox:latest
deploy:
if: github.ref_name == 'main'
runs-on: ubuntu-latest
needs: build_and_push_to_docker_hub
steps:
- name: executing remote ssh commands to deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST_IP }}
username: ${{ secrets.HOST_USERNAME }}
key: ${{ secrets.SSH_KEY }}
passphrase: ${{ secrets.SSH_PASSPHRASE }}
script: |
sudo docker-compose stop
sudo docker-compose rm -f backend
sudo docker-compose rm -f frontend
sudo docker-compose rm -f nginx
sudo docker image rm -f ${{ secrets.DOCKER_USERNAME }}/blackfox:latest
sudo docker image rm -f ${{ secrets.FRONTEND_DOCKER_USERNAME }}/nutrition-app:latest
sudo docker volume rm -f root_frontend_build
echo ALLOWED_HOSTS=${{ secrets.ALLOWED_HOSTS }} > .env
echo DJANGO_SECRET_KEY=${{ secrets.DJANGO_SECRET_KEY }} >> .env
echo EMAIL_HOST_USER=${{ secrets.EMAIL_HOST_USER }} >> .env
echo EMAIL_HOST_PASSWORD=${{ secrets.EMAIL_HOST_PASSWORD }} >> .env
echo DB_ENGINE=${{ secrets.DB_ENGINE }} >> .env
echo DB_HOST=${{ secrets.DB_HOST }} >> .env
echo DB_PORT=${{ secrets.DB_PORT }} >> .env
echo POSTGRES_DB=${{ secrets.POSTGRES_DB }} >> .env
echo POSTGRES_USER=${{ secrets.POSTGRES_USER }} >> .env
echo POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }} >> .env
echo FATSECRET_CONSUMER_KEY=${{ secrets.FATSECRET_CONSUMER_KEY }} >> .env
echo FATSECRET_CONSUMER_SECRET=${{ secrets.FATSECRET_CONSUMER_SECRET }} >> .env
echo FATSECRET_CALLBACK_URL=${{ secrets.FATSECRET_CALLBACK_URL }} >> .env
sudo docker-compose pull
sudo docker-compose up -d