Aplikace využívá PHP framework Laravel, Bootstrap 4, Webpack 5.
- Systém a jeho komponenty jsou popsány ve Wiki
- PHP 7.3+
- Composer 2 https://getcomposer.org/download/
- MySQL - netestováno s jinou DB, ale možná bude fungovat
- NodeJS 14+ - pro build assetů (JS/CSS)
- npm
- Naklonování repozitáře
- Instalace PHP závislostí -
composer install
- V produkčním prostředí spouštět
composer install --optimize-autoloader --prefer-dist --no-dev --no-ansi --no-interaction
- V produkčním prostředí spouštět
- Vytvoření souboru
.env
a vložení obsahu z.env.example
- Vyplnit přístupové údaje do DB
- APP_KEY je možné přegenerovat spuštění
php artisan key:generate
- spouštět pouze při první instalaci
- Vytvoření DB schématu pomocí
php artisan migrate
- Vložení 2 uživatelských účtu (role
master
aadmin
) do DB pomocíphp artisan db:seed
- Vložení 2 uživatelských účtu (role
- Instalace NodeJS závislostí a build assetů -
npm install
anpm run build
APP_KEY
- Secret key - slouží k šifrování cookies a session - při změně budou všichni uživatelé odhlášení- Lze přegenerovat pomocí
php artisan key:generate
- Lze přegenerovat pomocí
APP_URL
- URL adresa, na které systém běží. Používá se při generování obsahu emailůAPP_FORCE_URL
- Pokud jetrue
je nutné zadat iAPP_URL
. Pokud návštěvník přijde na jinou URL, je přesměrován.- Příklad:
APP_URL=http://www.czechitas.cz
uživatel přijde nahttp://czechitas.cz
-> je přesměrován na adresu swww
- Neřeší HTTP/HTTPS
- Příklad:
HTTPS_ENABLE
- pokud je HTTPS povoleno, je automaticky každý request na HTTP přesměrován na HTTPS s kódem 301- Volitelně lze zapnout také HSTS, více na kutac.cz/pocitace-a-internety/https-nestaci-jak-na-hsts-a-hpkp
DB_*
- přístupové údaje k DB
Deploy do služby Heroku a pak už jen profitovat z výsledku 🎉🎉
- Vytvořit fork pro Váš běh digitální akademie
- Vytvořit účet na herokuapp.com
- Vytvořit si účet na AWS - je potřeba S3 Bucket nastavit.
- Vytvořit novou aplikaci na heroku
- Deployment method - Nastavit GitHub, Váš nový fork
- Enable Automatic deploys, pokud chcete, aby se Vám aplikace automaticky updatovala s novými commity
- Nainstalovat ClearDB MySQL addon - https://dashboard.heroku.com/apps//resources
- Ignite, free verze stačí.
- Go to Settings
- env
CLEARDB_DATABASE_URL
by měla být nastavená. - Nastav Buildpacks. Musí být v tomto pořadí
- heroku/nodejs
- heroku/php
- Naconfiguruj VARS
APP_KEY
^^ viz .envAWS_ACCESS_KEY_ID
- access key k S3AWS_BUCKET
- jmeno AWS bucketuAWS_DEFAULT_REGION
- region, kde je umisten S3 bucketAWS_SECRET_ACCESS_KEY
- secret keyAWS_URL
- url s3 bucketuDB_DATABASE
- použij db name zCLEARDB_DATABASE_URL
DB_HOST
- použij host zCLEARDB_DATABASE_URL
DB_PASSWORD
- použij pass zCLEARDB_DATABASE_URL
DB_PORT
- 3306DB_USERNAME
- použij username zCLEARDB_DATABASE_URL
FILESYSTEM_DRIVER
-s3
- env
V tomto bodu jste ready-to-deploy. V záložce Deploy stačí v sekci Manual deploy stisknout tlačítko a tradá.
Pokud máte více týmů a chcete více aplikací pro každý tým, tak je potřeba applikace dát do tzn. pipeliny. Pokud chceš deployvat různé verze, tak pro každý tým musíš vytvořit samostatnou branch. Pokud Ti to je jedno, stačí Ti master
branch.
- V záložce Deploy je - Connect to Pipeline
- Vytvoř novou pipeline - vyber třeba Staging.
- Poté je Tvá applikace vidět ve sloupečku STAGING.
- Tvá aplikace je aktivní a ve sloupci STAGING lze přidat novou aplikaci.
- Pro ni opět nastav stejné VARS a addons (Cleardb) jak v krocích pro deploy jedné aplikace.
- Přidej další VAR -
OVERRIDE_APP_NAME
a pojmenuj ji např. po názvu týmu. Jde o prefix do DB, pokud sdílí všechny aplikace stejnou DB, ať si appky "nešahají na vzájemně na data"
- Přidej další VAR -
- Vyber si, z jaké branche by se měla deployvat.
- Opakuj tyto kroky pro každý tým co máš.
Optional
- můžeš nastavit Review apps- Review app se automaticky vytvoří pro Pull request do jakékoliv branche.
- Pokud chceš tuto funkcionalitu využít, je potřeba ji zapnout a nastavit v Settings pipeline VARS.
- Hodí se, pokud chcete učit nějaké flow, kdy QA může otestovat aplikaci ještě před mergem do hlavní branche.