Skip to content

Latest commit

 

History

History
73 lines (49 loc) · 2.96 KB

deploy.rst

File metadata and controls

73 lines (49 loc) · 2.96 KB

Możliwe jest wdrożenie aplikacji na platformę Heroku lub inną platformę wspierające obrazy OCI/Docker.

W celu zbudowania obrazu produkcyjny, ty możesz uruchomić komendę:

./scripts/prod-docker-image/build_image.sh

To powinno zbudować obraz docker.pkg.github.com/klubjagiellonski/pola-backend/pola-backend:latest, który można wykorzystać do wdrożenia w środowisku kontenerowym.

Uruchom następujące polecenia, aby wdrożyć projekt w Heroku z wykorzystaniem obrazu Docker:

heroku addons:create heroku-postgresql:hobby-dev
heroku pg:backups schedule --at '02:00 America/Los_Angeles' DATABASE_URL
heroku pg:promote DATABASE_URL

heroku addons:create heroku-redis:hobby-dev
heroku addons:create mailgun

heroku config:set DJANGO_SECRET_KEY="$(openssl rand -base64 32)"
heroku config:set DJANGO_SETTINGS_MODULE='pola.config.settings.production'

heroku config:set POLA_APP_AWS_ACCESS_KEY_ID=YOUR_POLA_APP_AWS_ACCESS_KEY_ID_HERE
heroku config:set POLA_APP_AWS_SECRET_ACCESS_KEY=YOUR_POLA_APP_AWS_SECRET_ACCESS_KEY_HERE
heroku config:set POLA_APP_AWS_S3_PUBLIC_BUCKET_NAME=YOUR_POLA_APP_AWS_S3_PUBLIC_BUCKET_NAME_HERE
heroku config:set POLA_APP_AWS_S3_BACKEND_BUCKET_NAME=YOUR_POLA_APP_AWS_S3_BACKEND_BUCKET_NAME_HERE
heroku config:set POLA_APP_AWS_S3_AI_PICS_BUCKET_NAME=YOUR_POLA_APP_AWS_S3_AI_PICS_BUCKET_NAME_HERE

heroku config:set DJANGO_MAILGUN_SERVER_NAME=YOUR_MALGUN_SERVER
heroku config:set DJANGO_MAILGUN_API_KEY=YOUR_MAILGUN_API_KEY

heroku config:set PYTHONHASHSEED=random

./scripts/prod-docker-image/build_image.sh
PROD_IMAGE_NAME="docker.pkg.github.com/klubjagiellonski/pola-backend/pola-backend:latest"
./scripts/deploy.sh <APP_NAME> "${PROD_IMAGE_NAME}"

heroku run python manage.py migrate
heroku run python manage.py check --deploy
heroku run python manage.py createsuperuser
heroku open

Aktualnie aplikacja jest wdrażana automatycznie do dwóch śroodowisk przez Github Action. Każda zmiana w odpowiedniej gałeżi powoduje, że uruchamiany jest workflow, który testuje i buduje aplikacje.

Gałaż Nazwa aplikacji Heroku Adres
master pola-app hhttps://www.pola-app.pl/
prod pola-staging https://pola-staging.herokuapp.com/

W celu wdrożęnia aplikacji z środowiska przejściowego, ty możesz wykorzystać poniższą komendę:

git fetch --all
git push origin origin/master:prod