Skip to content

Commit

Permalink
Создан начальный воркфлоу для GitHub Actions.
Browse files Browse the repository at this point in the history
  • Loading branch information
eugemos committed Aug 30, 2023
1 parent 5611d3a commit 4d86b06
Showing 1 changed file with 176 additions and 0 deletions.
176 changes: 176 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
name: Main Foodgram workflow

on: push

jobs:
tests:
runs-on: ubuntu-latest
# services:
# postgres:
# image: postgres:13.10
# env:
# POSTGRES_USER: django_user
# POSTGRES_PASSWORD: django_password
# POSTGRES_DB: django_db
# ports:
# - 5432:5432
# options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Print project tree
run: tree .
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: 3.10

# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install flake8==6.0.0 flake8-isort==6.0.0
# pip install -r ./backend/requirements.txt
# - name: Test with flake8 and django tests
# env:
# POSTGRES_USER: django_user
# POSTGRES_PASSWORD: django_password
# POSTGRES_DB: django_db
# SECRET_KEY: ${{ secrets.SECRET_KEY }}
# DB_HOST: 127.0.0.1
# DB_PORT: 5432
# run: |
# python -m flake8 backend/
# cd backend/
# python manage.py test

# build_backend_and_push_to_docker_hub:
# name: Push Docker image to DockerHub
# runs-on: ubuntu-latest
# needs: tests
# if: github.ref == 'refs/heads/main'
# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Login to Docker
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Push to DockerHub
# uses: docker/build-push-action@v4
# with:
# context: ./backend/
# push: true
# tags: ${{ secrets.DOCKER_USERNAME }}/kittygram_backend:latest

# frontend_tests:
# runs-on: ubuntu-latest

# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up nodeJS
# uses: actions/setup-node@v3
# with:
# node-version: 18

# - name: Install dependencies
# run: |
# cd frontend/
# npm ci

# - name: Test frontend
# run: |
# cd frontend/
# npm run test

# build_frontend_and_push_to_docker_hub:
# name: Push frontend Docker image to DockerHub
# runs-on: ubuntu-latest
# needs: frontend_tests
# if: github.ref == 'refs/heads/main'
# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Login to Docker
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Push to DockerHub
# uses: docker/build-push-action@v4
# with:
# context: ./frontend/
# push: true
# tags: ${{ secrets.DOCKER_USERNAME }}/kittygram_frontend:latest

# build_gateway_and_push_to_docker_hub:
# name: Push gateway Docker image to DockerHub
# runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/main'
# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Login to Docker
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Push to DockerHub
# uses: docker/build-push-action@v4
# with:
# context: ./nginx/
# push: true
# tags: ${{ secrets.DOCKER_USERNAME }}/kittygram_gateway:latest

# deploy:
# runs-on: ubuntu-latest
# needs:
# - build_backend_and_push_to_docker_hub
# - build_frontend_and_push_to_docker_hub
# - build_gateway_and_push_to_docker_hub
# steps:
# - name: Checkout repo
# uses: actions/checkout@v3
# - name: Copy docker-compose.production.yml via ssh
# uses: appleboy/scp-action@master
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USER }}
# key: ${{ secrets.SSH_KEY }}
# passphrase: ${{ secrets.SSH_PASSPHRASE }}
# source: "docker-compose.production.yml"
# target: "kittygram"
# - name: Executing remote ssh commands to deploy
# uses: appleboy/ssh-action@master
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USER }}
# key: ${{ secrets.SSH_KEY }}
# passphrase: ${{ secrets.SSH_PASSPHRASE }}
# script: |
# cd kittygram
# sudo docker compose -f docker-compose.production.yml down
# sudo docker compose -f docker-compose.production.yml pull
# sudo docker compose -f docker-compose.production.yml up -d
# sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
# sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic
# sudo docker compose -f docker-compose.production.yml exec backend cp -r /app/collected_static/. /backend_static/static/
# send_message:
# runs-on: ubuntu-latest
# needs: deploy
# steps:
# - name: Send message
# uses: appleboy/telegram-action@master
# with:
# to: ${{ secrets.TELEGRAM_TO }}
# token: ${{ secrets.TELEGRAM_TOKEN }}
# message: |
# ${{ github.actor }} опубликовал(а) изменения в ветке main: ${{ github.event.commits[0].message }}
# Деплой успешно выполнен!

0 comments on commit 4d86b06

Please sign in to comment.