====== Nasazení pomocí Github Actions ====== Pro jednodušší instalaci a aktualizaci SRS ústředních akcí používáme GitHub Actions. Následující postup slouží pouze týmu SRS. ===== Instalace ===== - Založit web na [[https://lebedahosting.cz/|lebedahosting.cz]] (nebo jinde, ale je potřeba mít SSH přístup) * V případě existujícího webu je nutné odstranit soubory nahrané na FTP - Požádat podporu o povolení SSH * K tomu je potřeba uživatelské jméno ve tvaru: ''vuXXXXXX'' * Uživatelské jméno se zjistí v detailu webu na [[https://lebedahosting.cz/|lebedahosting.cz]] (u novějších účtů je stejné 6místné číslo také v uživatelském jméně pro MySQL a v názvu databáze) - Vygenerovat SSH klíč pomocí ''ssh-keygen'' (na Windows např. [[https://www.puttygen.com/|PuTTYgen]]) * Spustit ''ssh-keygen'' * Zadat název souboru, kam se uloží privátní klíč * Heslo ke klíči nechat prázdné * Vytvoří se 2 soubory - veřejný klíč (přípona pub) a privátní klíč - Přidat veřejný klíč na server * Připojit se přes FTP a obsah souboru s veřejným klíčem přidat na konec souboru ''.ssh/authorized_keys'' (pokud neexistuje, je nutné jej vytvořit) - Nastavit parametry GitHub Action * Je třeba mít ''Admin'' roli pro repozitář SRS * V nastavení repozitáře přejít do ''Environments'' a vytvořit nové prostředí pomocí ''New environment'' * Jako název prostředí zadat adresu webu (např. ''srs.skauting.cz'') * Pomocí ''Add Secret'' je třeba postupně přidat potřebné proměnné a jejich hodnoty: * ''CONFIG_DATABASE_NAME'' - název MySQL databáze * ''CONFIG_DATABASE_PASSWORD'' - heslo do MySQL databáze * ''CONFIG_DATABASE_USER'' - uživatelské jméno do MySQL databáze * ''CONFIG_SKAUTIS_APPLICATION_ID'' - skautIS appId * ''DEPLOY_SSH_HOST'' - adresa webu * ''DEPLOY_SSH_KEY'' - obsah souboru s privátním klíčem * ''DEPLOY_SSH_USERNAME'' - uživatelské jméno použité při žádosti o povolení SSH (viz bod 2) * ''CONFIG_MAILING_SENDER_EMAIL'' - e-mail odesilatele mailů ze systému (výchozí hodnota: ''srs@skaut.cz'') * Pro testování se mohou hodit proměnné: * ''CONFIG_SKAUTIS_TEST_MODE'' - nastavením na ''true'' se použije testovací skautIS (výchozí hodnota: ''false'') * ''CONFIG_MAIL_SMTP'' - nastavením na ''false'' se nepoužije přednastavený SMTP server (výchozí hodnota: ''true'') * Při nasazení mimo [[https://lebedahosting.cz/|lebedahosting.cz]] je třeba nastavit: * ''DEPLOY_SSH_IP'' - IP adresa serveru * ''DEPLOY_SSH_PORT'' - SSH port * ''DEPLOY_DIRECTORY'' - cesta pro instalaci SRS (výchozí hodnota: ''$HOME'') * ''DEPLOY_LEBEDA'' - ''false'' (výchozí hodnota: ''true'') * Při použití jiné domény než ''skauting.cz'', ''skaut.cz'', ''miquik.cz'' může být třeba nastavit [[https://www.google.com/recaptcha/about/|reCAPTCHA]]: * ''CONFIG_RECAPTCHA_SITE_KEY'' - reCAPTCHA v2 site key * ''CONFIG_RECAPTCHA_SECRET_KEY'' - reCAPTCHA v2 secret key * Pro použití vlastního SMTP serveru je třeba nastavit: * ''CONFIG_MAIL_HOST'' - SMTP server * ''CONFIG_MAIL_PORT'' - SMTP port * ''CONFIG_MAIL_SECURE'' - typ zabezpečení SMTP (výchozí hodnota: ''tls'') * ''CONFIG_MAIL_USERNAME'' - uživatelské jméno SMTP * ''CONFIG_MAIL_PASSWORD'' - heslo SMTP - Spustit nasazení * Přejít na stránku ''Actions'' a vybrat ''deploy-manual'' * Kliknout na ''Run workflow'', vybrat větev ''master'', prostředí vytvořené v předchozím kroku a potvrdit pomocí ''Run workflow'' ===== Aktualizace ===== - Spustit nasazení * Přejít na stránku ''Actions'' a vybrat ''deploy-manual'' * Kliknout na ''Run workflow'', vybrat větev ''master'', prostředí vytvořené v předchozím kroku a potvrdit pomocí ''Run workflow'' Spouštět nastavenou Github Action může kdokoliv s rolí ''Write'', pro vyšší bezpečnost je možné u jednotlivých prostředí nastavit omezení na výbrané větve nebo schválení vybraným uživatelem.