diff --git a/.github/workflows/pull_and_run_on_server.yaml b/.github/workflows/pull_and_run_on_server.yaml new file mode 100644 index 0000000..3e885ee --- /dev/null +++ b/.github/workflows/pull_and_run_on_server.yaml @@ -0,0 +1,98 @@ +# name: Pull and run on server + +# on: +# workflow_run: +# workflows: +# - Build and push Docker image +# types: +# - completed + +# env: +# REGISTRY: ghcr.io +# IMAGE_NAME: ${{ github.repository }} +# DEPLOY_PATH: Goodstart_telegram_bot + +# jobs: +# deploy: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout repo +# uses: actions/checkout@v3 +# - name: Copy docker-compose.stage.yaml via ssh +# uses: appleboy/scp-action@v0.1.3 +# with: +# host: ${{ secrets.HOST }} +# username: ${{ secrets.USER }} +# key: ${{ secrets.SSH_KEY }} +# passphrase: ${{ secrets.SSH_PASSPHRASE }} +# source: "infra/stage/docker-compose.stage.yaml" +# target: ${{ env.DEPLOY_PATH }} +# - name: Copy nginx.conf via ssh +# uses: appleboy/scp-action@v0.1.3 +# with: +# host: ${{ secrets.HOST }} +# username: ${{ secrets.USER }} +# key: ${{ secrets.SSH_KEY }} +# passphrase: ${{ secrets.SSH_PASSPHRASE }} +# source: "infra/stage/nginx.conf" +# target: ${{ env.DEPLOY_PATH }} +# - name: Copy goodstart_bot.service via ssh +# uses: appleboy/scp-action@v0.1.3 +# with: +# host: ${{ secrets.HOST }} +# username: ${{ secrets.USER }} +# key: ${{ secrets.SSH_KEY }} +# passphrase: ${{ secrets.SSH_PASSPHRASE }} +# source: "infra/stage/goodstart_bot.service" +# target: ${{ env.DEPLOY_PATH }} +# - 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 }} +# timeout: 120s +# script: | +# cd ${{ env.DEPLOY_PATH }} +# rm .env +# touch .env + +# echo POSTGRES_DB=${{ secrets.POSTGRES_DB }} >> .env +# echo POSTGRES_USER=${{ secrets.POSTGRES_USER }} >> .env +# echo POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }} >> .env +# echo DB_ENGINE=${{ secrets.DB_ENGINE }} >> .env +# echo DB_HOST=${{ secrets.DB_HOST }} >> .env +# echo DB_PORT=${{ secrets.DB_PORT }} >> .env +# echo BASE_URL=${{ secrets.BASE_URL }} >> .env +# echo SECRET_KEY=${{ secrets.SECRET_KEY }} >> .env +# echo DEBUG=${{ secrets.DEBUG }} >> .env +# echo ALLOWED_HOSTS=${{ secrets.ALLOWED_HOSTS }} >> .env +# echo CSRF_TRUSTED_ORIGINS=${{ secrets.CSRF_TRUSTED_ORIGINS }} >> .env +# echo TELEGRAM_TOKEN=${{ secrets.TELEGRAM_TOKEN }} >> .env +# echo DJANGO_SUPERUSER_USERNAME=${{ secrets.DJANGO_SUPERUSER_USERNAME }} >> .env +# echo DJANGO_SUPERUSER_EMAIL=${{ secrets.HOST_DJANGO_SUPERUSER_EMAILNG }} >> .env +# echo DJANGO_SUPERUSER_PASSWORD=${{ secrets.DJANGO_SUPERUSER_PASSWORD }} >> .env +# echo DJANGO_SUPERUSER_FIRSTNAME=${{ secrets.DJANGO_SUPERUSER_FIRSTNAME }} >> .env +# echo DJANGO_SUPERUSER_LASTNAME=${{ secrets.DJANGO_SUPERUSER_LASTNAME }} >> .env +# echo DJANGO_SUPERUSER_PHONE=${{ secrets.DJANGO_SUPERUSER_PHONE }} >> .env +# echo EMAIL_BACKEND=${{ secrets.EMAIL_BACKEND }} >> .env +# echo EMAIL_HOST=${{ secrets.EMAIL_HOST }} >> .env +# echo EMAIL_PORT=${{ secrets.EMAIL_PORT }} >> .env +# echo EMAIL_ACCOUNT=${{ secrets.EMAIL_ACCOUNT }} >> .env +# echo EMAIL_PASSWORD=${{ secrets.EMAIL_PASSWORD }} >> .env +# echo DEFAULT_EMAIL_ADDRESS=${{ secrets.DEFAULT_EMAIL_ADDRESS }} >> .env +# echo NGINX_PORT=${{ secrets.NGINX_PORT }} >> .env + +# cd infra/stage + +# # Настройка автоматического перезапуска приложения при сбое сервера +# sudo cp -f /home/develop/Goodstart_telegram_bot/infra/stage/goodstart_bot.service /etc/systemd/system/goodstart_bot.service +# sudo systemctl daemon-reload +# sudo systemctl restart goodstart_bot.service + +# sleep 10 +# docker compose -f docker-compose.stage.yaml exec backend sh -c "export RUN_BOT=false" +# docker compose -f docker-compose.stage.yaml exec backend python manage.py collectstatic +# docker compose -f docker-compose.stage.yaml exec backend python manage.py migrate +# docker compose -f docker-compose.stage.yaml exec backend sh -c "export RUN_BOT=true"