Komitujte, pušujte a deplojujte. Umíme Git.

By

Dnes jsme veřejně spustili podporu Gitu na našem hostingu. Pokud jste s přechodem na Git ještě váhali, protože se vám to zdálo složité, není už na co čekat.

V Klientské sekci si přidáte svůj SSH klíč a Git si aktivujete. Naklonujete si repositář k sobě a můžete udělat první push. Větev master se bude vždy deployovat, takže její obsah už poběží pod vaší doménou.

Git může používat každý klient našeho hostingu. Dostupný není pouze v Zelených variantách, které však už několik měsíců nenabízíme.

Jak se u nás Git používá

Na serveru je vám k dispozici repositář se založenou větví master. Ten lze libovolně používat, případně si přidávat další větve.

K deployi obsahu slouží speciální větev production, která obsah nahraje na vaši doménu.

Podrobný naleznete přímo v sekci Git v Klientské sekci.

Co je to Git

O tom na našem blogu psát nebudeme, protože je to rozsáhlé téma. Ale zjednodušeně a v kontextu hostingu bychom mohli napsat, že jde o způsob vývoje a uploadu webových stránek/aplikací. Bez použití FTP, s možností verzí a podílení se více lidí na projektu.

Doporučujeme českou příručku Gitu, která je zdarma ke stažení na knihy.nic.cz (za tip děkujeme Martinovi Pěničkovi).

Další odkazy na české zdroje, které o Gitu pojednávají:


18 Responses to “Komitujte, pušujte a deplojujte. Umíme Git.”

  1. Patrik Votoček

    Máte někde podrobnější popis jak to u vás funguje? Existuje možnost definovat post-update hook (třeba kvůli migracím). Jak jsou řešeny “temp” složky?

    Odpovědět
    • Jiří Zralý

      Zatím funguje automaticky deploy větve master, ale pravděpodobně to ještě upravíme na jinou větev.
      Žádná další nastavení zatím definovat nelze. Co myslíš temp složkami? Ty lze přeci definovat v .gitignore

      Odpovědět
      • Patrik Votoček

        Nemyslím pouze temp složky ale jakoukoli složku třeba storage složky s obrázky nahranými pomocí aplikace (jde o to aby se ty obrázky při deploynutí nové verze nesmáznuli – protože nejsou v gitu).

        Odpovědět
        • Honza Marek

          Naopak temp (robot loader apod.) by se promazat měl. To je nějak řešené? Nebo pokaždé když pushnu do masteru musím vlézt na FTP a promazat temp?

          Odpovědět
          • Patrik Votoček

            Ano původní otázku jsem formuloval špatně. Jde mě skutečne o storage složky (uživatelské obrázky – např avatary).

    • Honza Marek

      Jirko, jak to teda nakonec je? Cokoliv je pod .gitignore, tak se při deployi nesmaže?

      Odpovědět
      • Jiří Zralý

        Pokud máš nějaký adresář, který nechceš gitovat, ani deployovat, například avatars, tak ho uvedeš v .gitignore.
        Tím pádem se ti z tvého počítače tento adresář neuloží do repositáře na hostingu, a při deployi se ani nenahraje do produkčního prostředí.
        To znamená, že tam ani nepřemaže tamní adresář avatars (ten si tam založíš buď přes FTP nebo předchozím pushem bez .gitignore)

        Odpovědět
        • Honza Marek

          Pokud budu mít ve složce avatars soubor .gitignore s obsahem


          *

          !.gitignore

          tedy ignoruj vše kromě .gitignore, tak to bude fungovat asi stejně, co?

          (Jinak neptám se ze zvídavosti, ale proto, že to budu potřebovat 😉

          Odpovědět
  2. Jan Škrášek

    Používat master mi přijde krajně nevhodné. Master se starndardně používá pro živý vývoj. Buď bych používal “production”, nebo to dal volitelné.

    Odpovědět
    • Jiří Zralý

      Máte pravdu. Něco s tím uděláme.

      Odpovědět
    • Jiří Zralý

      Už jsme řešení upravili. K deployi slouží větev production. Podrobný návod lze nalézt přímo v sekci Git v Klientské sekci.

      Děkujeme za podnět.

      Odpovědět
      • Ondrej Prochazka

        Osobne jsem pro pouziti master vetve, neb zacatecnik v gitu nebude vedet jak pracovat s production. Kdo pouziva git dele, tak svuj zivej vyvoj dokaze presunout do jinych vetvi. Ostatni co prejdou z FTP, at maji jednodusi uceni.

        Odpovědět
  3. pek

    Git je velké plus. Je dost možné, že kvůli němu přejdu na váš hosting.

    Odpovědět
  4. Martin Pěnička

    Místo vámi uváděné částečně přeložené příručky bych doporučil knihu Pro Git od Scotta Chacona která vyšla kompletně přeložená v edici CZ.NIC, je uvolněná pod licencí CC a volně dostupná ke stažení na webu http://knihy.nic.cz/

    Odpovědět
  5. Honza Marek

    Co podpora submodulů? Při pushi do větve production se submoduly zaktualizují? Jak by vypadala jejich inicializace? Inicializovat vše automaticky rekurzivně nemusí být třeba u doctriny úplně šťastné. A neinicializace ničeho by byla samozřejmě ještě horší.

    Odpovědět

Leave a Reply