Přihlásit se

Joomla 5.1.0 a Joomla 4.4.4 (Včera)

Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.

Workflow vývoje Joomla webů a verzování GIT

17. úno 2023 19:44 #147881
Odpověď od Leoš
Pokročilý uživatel
Ahoj Rudo,
nebylo by možné si k této problematice dát pokec na čtvrtečním online baru?
Mě by hlavně zajímalo, jak kdo má vyřešen vývoj webu na localhostu a jeho workflow - tedy základní systém nebo postup. Rád bych si to u sebe trochu urovnal a vylepšil, tak že bychom si to mohli porovnat a poplivat :-) 
 
Co na to ostatní vývojáři?

17. úno 2023 23:57 #147885
Odpověď od Rudolf
Joomla Expert
ok, ve čtvrtek příští týden budu online :)

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Poděkovali: Leoš

18. úno 2023 16:08 - 18. úno 2023 16:15 #147887
Odpověď od H13
Admin
Co na to ostatní vývojáři?

A ) Co se týče vývoje webové stránky, nebo spíš sestavení webové stránky:

1. veškerý vývoj s plným debug modem a error reportingem na localhostu
2. poté export z localhostu a import na hosting (standardní SQL export - osvědčil se mi spíše v adminerovi než v phpMyAdmin, a standardní FTP přesun souborů)
3. Úprava configuration.php na serveru:

public $user = 'xxx';
public $password = 'xxx';
public $db = 'xxx';
public $log_path = 'xxx';
public $tmp_path = 'xxx';

B ) Co se týče vývoje např. rozšíření:
1. veškerý vývoj s plným debug modem a error reportingem na localhostu
2. pomocí vlastního php skritptu sestavení finálního instalačního balíčku a kopírování všech souborů do speciální složky, kde pomocí GIT proběhne "Commit to master" (případně do jiné branche, např. Dev), poté "push" na Github.

Opak trochu složitější, ale neděje se tak často:
1. Pull z branche do speciální složky a poté kopie souborů na localhost

(Protože mi systém automaticky sám vytváří balíčky, pak podpůrný věci jako automaticky vytvořený obrázky pro sociální sítě, nebo Read Me soubory, atd. mám tam ten mezikrok se speciální složkou a nejedu přímo localhost <--> Github).

Omlouvám se za nečeské výrazy commit, branch, push, pull, ... ale nechci to přeložit špatně, neznám český výrazy.

Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Poděkovali: Leoš

18. úno 2023 19:01 #147889
Odpověď od Leoš
Pokročilý uživatel
Díky za tvůj tip. Já to asi dělám podobně. Na localhostu sestavuji web - vlastně co se dá naklikat v administraci Joomly a šablony. Na to asi žádné workflow není třeba. Ale když se dostanu k nějakým úpravám kódu - přepisům šablon atd., nebo řeším úpravy css, tak jsem chtěl mít možnost se podívat i zpětně co jsem kde a kdy změnil. Např. si klient za dva roky vzpomene, že už v eshopu nechce mít u zboží položku skladem počet ks a já vzpomínám kde to přesně mám a kdy jsem to dělal. Proto jsem si začal tyto soubory ukládat do GITu a mám tam komentáře, které mě navedou.
Takže tak si ukládám vlastní css a override souborů.

Když mám hotovou nějakou část práce, tak si udělám zálohu db a souborů a nahraju ji na test server aby se klient nebo spolupracovníci mohli podívat a otestovat.
Tak postupuji dokud není web připraven na spuštění do produkce.

Soubory nahrávám klasicky přes ftp a db přes phpMyAdmina. Zkoušel jsem úspěšně i deploytment automaticky ale narážím na to, že musím přenášet celý kód Joomly, když neměním jen části kódu ale např. píšu články nebo naklikávám strukturu menu atd.
To jsem si chtěl nějak ulehčit nebo zrychlit, např. když aktualizuji - záloha, aktualizace, test na localhostu, import na produkci, test produkce.

Ale asi to moc automatizovat nejde....

18. úno 2023 19:26 #147890
Odpověď od Rudolf
Joomla Expert
Vývoj na localhostu je ok pro "One Man Show"

Jakmile se vyvíjí v týmu, je tohle nežádoucí.

Proto vývoj webů nebo zrozšíření probíhá vždy na serveru - na vývojové doméně, která má stejné parametry jako produkce.
Web je napojený na git a jednotlivé úpravy se gitují podle čísla požadavku do samostatných branch nebo do branch devel s číslem požadavku
Jakmile je odsouhlaseno, nastane merge do master (to může proběhnout lokálně) a následně na produkci nastane pull.

Tím pádem je nasazení změn na produkci (tzv. deploy) otázka několika minut.
Je třeba si odladit v gitignore to co se nebude gitovat.
Také je třeba odladit změny v DB - například já abych nemusel programovat rozdílové tabulky (což například dělají kolegové při změnách na vodafone eshopu), tak po pull provádím znovu instalaci na produkci.

Samozřejmostí jsou SSH klíče pro jednotlivé uživatele.

 

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Poděkovali: Leoš

18. úno 2023 23:16 #147892
Odpověď od Cony
Moderátor
Za mně podobně jako Honza, jen pro přenos na server používám Akeeba Backup, je to výrazně rychlejší. 
Jinak vývoj na localhostu je běžný i pro velké týmy, záleží hodně na typu projektu a na způsobu deploy. 
Pokud budu hodně "extrémní" tak vše probíhá v rámci dockeru. Tzn. Vývojář si může stáhnout aktuální image pro databázi, souborový systém a webový server, vše si zprovozní u sebe na localhostu a pak jede přesně na stejném prostředí jako je produkční server. Změny pak nahraje na Git, odkud se automaticky mohou dostat znovu do obrazů pro vývoj. Deploy pak může proěhnout jen "záměnou" obrazů. Ale pro vývoj na Joomle to není úplně nejjednoduší nastavit, protože databáze a souborový systém jsou hodně provázané (instalací nové verze rozšíření dojde ke změnám souborů i databáze).
Poděkovali: Leoš

Powered by Fórum