Ak sa už nejaký čas venujete vývoju webu, pravdepodobne ste pokazili prenos súborov, keď sa pokúšate aktualizovať web. V najlepšom prípade pridáte do adresára množstvo ľahko identifikovateľných súborov a odstránite ich, aby ste chybu opravili. Áno, stojí vás to čas a je to nepríjemné, ale nespôsobilo to žiadnu škodu.
V najhoršom prípade prenesiete veľa súborov tém nesprávne. Potom musíte zistiť, ktoré z nich boli prepísané, ktoré vôbec nepatria, a ako preboha obnovíte správny pracovný stav vašej témy.
Dnes sa budeme zaoberať riešením tohto problému pomocou Git a Nasadiť robota na automatizáciu procesu nasadenia.
Čo je automatické nasadenie?
Základné automatizované nasadenie má štyri časti, ako je znázornené na tomto diagrame.
Väčšina vývojárov začína len s kódom a serverom. Vykonajú zmeny vo svojej pracovnej kópii lokality a potom tieto zmeny vložia priamo na server cez FTP. Nástroje ako Coda alebo Dreamweaver majú priamu integráciu FTP, takže to môžete urobiť z vášho kódovacieho prostredia.
Ďalším krokom, ktorý mnohí vývojári robia, je pridanie pracovnej stránky, aby priamo neupravovali živý server. Môžete to urobiť pomocou niečoho podobného VVV alebo MAMP. Často to tiež znamená, že na správu zmien, ktoré vykonáte na svojej miestnej pracovnej lokalite, používate systém na správu verzií, ako je Git.
Keď pridáte pracovisko, pridáte aj zložitosť. Ako prenesiete zmeny v kóde z vašej lokálnej pracovnej lokality na pracovnú lokalitu, kde váš klient uvidí zmeny? Áno, ako som už povedal, môžete použiť napríklad základného FTP klienta FileZilla, Preniesť alebo Vysokozdvižný vozík presúvať súbory pri vykonávaní zmien, ale toto je náchylné na chyby a práve tu vám automatizácia procesu nasadenia ušetrí toľko času.
Namiesto toho, aby ste vzali zmenené súbory a poslali ich na svoj prípravný server, použijete iný systém na automatické zistenie zmien vo vašom archíve Git a presuniete len tieto zmeny na stránku prípravku, ktorú môže váš klient použiť na kontrolu práce.
To však stále ponecháva vašu živú stránku ako manuálne nasadenie, čo je oveľa desivejšie, pretože to môže znamenať stratu skutočných peňazí, ak stiahnete živú pracovnú stránku. Namiesto toho predpokladajme, že sa chystáte nastaviť systém nasadenia tak, aby sa automaticky nasadil do stagingu, a potom sa váš systém nasadí jediným kliknutím do živého prostredia, keď budete pripravení.
Takže teraz máte systém, ktorý vyzerá takto.
Poďme sa ponoriť, aby som vám mohol ukázať, ako nastavujem tento proces nasadenia pre každého klienta, s ktorým pracujem. Toto sú kroky, ktoré robím hneď, ako začnem nový projekt. ja vždy uistite sa, že môj proces nasadenia je nastavený a funguje skôr, ako začnem robiť akúkoľvek inú prácu na klientskom projekte.
Ako štruktúrovať svoje úložisko Git
Vašou prvou voľbou je, v ktorom adresári nastavíte svoje automatické nasadenie? Pokiaľ môj klient konkrétne nepožaduje úplnú kontrolu zdroja pre svoju inštaláciu WordPress, používam na nastavenie svojho automatizovaného systému nasadenia adresár wp-content. Začína to v termináli vydaním tohto príkazu, ktorý inicializuje úložisko git.
git init
Teraz je čas ignorovať súbory, ktoré nebudete chcieť neustále nasadzovať. Sú to súbory, ako sú záložné súbory, obrázky a ľubovoľné súbory vlastného projektu, ktoré mnoho editorov kódu pridáva do adresára. Môj obvyklý súbor .gitignore si môžete pozrieť nižšie.
config/app_config.yml
config/database.yml
config/*.sphinx.conf
config/s3_credentials.yml
*~
*.vyrovnávacia pamäť
*.log
*.pid
tmp/**/*
.DS_Store
db/cstore/**
db/sfinga/**
doc/api
dokument/aplikácia
doc/plugins
doc/*.dot
pokrytie/*
db/*.sqlite3
*.tmproj
*.sw?
*.esproj
_poznámky*
dwsync.xml
podcast.xml
*.kpf
*nahrávanie/*
*.swp
*.nápad
*.vznešený-projekt
*.vznešený-pracovný priestor
*/node_modules/*
značky
*.bak
vyrovnávacia pamäť/*
spravovaťwp/*
mu-plugins/*
dp.php
updraft/*
jazyky/*
db.php
plugins/wp-rocket/cache.json
Neváhajte ho pridať alebo odstrániť podľa potreby. Takmer každý projekt, na ktorom pracujem, potrebuje nejaký vlastný záznam, aby som ignoroval nejaký súbor, ktorý je špecifický pre moju miestnu pracovnú lokalitu, pre ktorú budú mať pracovné a aktívne lokality svoj vlastný súbor, ktorý nechcem prepísať.
Odtiaľ je čas nastaviť pobočky, ktoré budete potrebovať na spustenie systému nasadenia. Používam dve hlavné vetvy. Prvá je hlavná vetva, ktorá zodpovedá mojej živej produkčnej lokalite. Po druhé, je vetva, ktorú označím ako etapa, a zodpovedá pracovnej stránke, ktorú chcem, aby môj klient používal ako spôsob kontroly zmien, ktoré robíme.
Keď ste inicializovali svoje úložisko Git, už máte svoju hlavnú vetvu, takže pomocou tohto príkazu pridajte fázovú vetvu a skontrolujte ju.
git checkout -b staging
Tento príkaz vytvorí a skontroluje novú vetvu. Ak s gitom začínate, viac informácií o dostupných príkazoch nájdete v súbore Dokumentácia Git.
Teraz budete musieť vložiť svoj projekt do systému riadenia zdroja. Github a Bitbucket sú dve obľúbené možnosti, ktoré obe fungujú s automatizovaným systémom nasadenia, ktorý budeme používať s názvom Deploybot. Keď vytvoríte nové úložisko s ktoroukoľvek stránkou, poskytnú vám ďalšie pokyny na pridanie vášho lokálneho úložiska do vašej online verzie v Github alebo Bitbucket.
Nastavenie Deploybota
Keď som sa prvýkrát pustil do zložitejšej práce ako vývojár, môj priateľ Duane mi stále odporúčal Nasadiť robota mne, keď som sa online sťažoval na neporiadok manuálneho nasadenia FTP. Trvalo niekoľko odporúčaní, kým som konečne urobil to, čo mi bolo povedané, ale teraz som už roky spokojným zákazníkom Deploybotu.
Aj keď existujú iné spôsoby nasadenia vašich stránok, mnohé z nich zahŕňajú prepojenie s Webhooky Git alebo niektoré konfiguračné súbory automatického nasadenia prostredníctvom editora kódu. V týchto iných nástrojoch je veľa sily, ale ak s automatizovaným nasadením ešte len začínate, potom je miesto, kde začať, s niečím priamočiarym, ako je Deploybot.
Ak chcete začať, zaregistrujte sa na a Nasadiť robota a pripojte Github alebo Bitbucket k svojmu účtu. Dnes použijem svoj existujúci účet Bitbucket. Začnite pridaním nového úložiska do svojho účtu Deploybot.
Keď nájdete úložisko, ktoré chcete nastaviť na automatické nasadenie, kliknite na tlačidlo s názvom Pripojiť v spodnej časti stránky. Toto vás pošle späť na stránku vášho úložiska, kým Deploybot dokončí inicializáciu vášho úložiska. Vo všeobecnosti sa to robí za minútu alebo dve, takže si naplňte kávu a vráťte sa, aby ste dokončili nastavenie procesu nasadenia.
Po nastavení úložiska naň kliknite a dostanete sa na jeho hlavnú stránku. Keďže ešte nemáme nastavené žiadne informácie sFTP, bude na ňom veľké pole, ktoré vám povie, aby ste si nastavili server. Kliknutím na tlačidlo vytvoríte prostredie a server.
Začnime s nasadením do nášho pracovného prostredia. Takže označte svoj server ako fázový. Vyberte automatické nasadenie a uistite sa, že ste nastavili vetvu na fázovanie.
Po dokončení kliknite na Uložiť tlačidlo v spodnej časti stránky a prejdite na konfiguráciu servera.
Na ďalšej stránke ho znova označte ako Staging server a vložte svoje sFTP informácie z vašej lokality. Ak si nie ste istí, kde ich nájsť, prečítajte si túto užitočnú príručku.
So zadanými informáciami sFTP sa môžete posunúť nadol a uložiť ich. Deploybot potom otestuje vaše pripojenie, aby sa uistil, že informácie, ktoré ste poskytli, fungujú. Teraz je čas vykonať prvé nasadenie stránky, aby sme sa uistili, že všetko funguje. Do nasadenia často pridávam súbor test.txt ako jednoduchý spôsob, ako si overiť, či nasadenie funguje správne.
Ak chcete spustiť nasadenie do histórie prostredia, kliknite na nasadiť.
Teraz uvidíte stránku s vašou poslednou správou odovzdania git ako poznámku, ktorú uvidíte v Deploybot vedľa tohto nasadenia. Pre veľké zmeny to zmením, ale ak len mením CSS alebo niečo menšie, správa odovzdania môže zostať. Keďže toto je príprava, každý jeden príkaz do našej prípravnej vetvy bude nasadený automaticky, čo znamená, že sa zobrazia vaše správy o odovzdaní. Je to len počiatočné odovzdanie, ktoré musíme urobiť manuálne na našom pracovisku.
Teraz overte, že vaše súbory boli zverejnené na skúšobnej lokalite a môžeme nastaviť živé nasadenie.
Pre vaše živé nasadenie sa uistite, že ste nie vyberte automatické nasadenie a uistite sa, že ste ako zdroj svojho nasadenia vybrali hlavnú vetvu. Chceme, aby to bolo manuálne nasadenie, keď budeme pripravení preniesť zmeny na našu živú stránku.
Ak to chcete urobiť, budete musieť skontrolovať svoju hlavnú vetvu a potom zlúčiť zmeny z vašej pracovnej vetvy do hlavnej.
Môžete to urobiť pomocou týchto príkazov.
git pokladničný majster
git merge staging
git push origin master
Teraz, keď prejdete do svojho účtu Deploybot, budete môcť manuálne nasadiť svoje zmeny rovnako, ako sme to urobili pri našom počiatočnom nasadení do nášho prípravného prostredia. Pre vaše živé prostredie sa uistite, že ste zmenili správu o nasadení tak, aby vyhovovala zmenám, ktoré sa prenášajú na vašu živú lokalitu. Mali by ste si tiež vytvoriť zálohu svojho webu. Môžete to urobiť prístupom k navigácii záloh na vašej lokalite a vytvorením manuálnej zálohy.
To je všetko, máte svoje automatické nastavenie systému nasadenia pre pracovné aj živé prostredia.
Ďalšie úvahy o nasadení
Aj keď je tento systém pre väčšinu vývojárov veľkým krokom vpred, nie je bez problémov. Najväčšou je, že ak máte veľa zmien, stále čakáte, kým FTP dokončí prenos súborov, ktoré sa zmenili. To môže znamenať, že niekto navštívi vašu stránku a nie sú prítomné všetky súbory, ktoré vaša stránka potrebuje na spustenie.
Pre mnohých klientov to nebude problém, ale ak je to pre vašu stránku, budete sa musieť pozrieť na nastavenie systému nasadenia Atomic. Tento typ systému nasadenia presunie všetky súbory, overí, či fungujú správne, a potom zmení nastavenia súborov na vašom serveri tak, že nový adresár je teraz ten, v ktorom beží vaša lokalita.
Proces prepojenia s novým priečinkom trvá tak krátko, že by si to všimol iba počítač. To tiež znamená, že ak neskôr nájdete problém, môžete zmeniť svoj systémový odkaz späť na starú verziu lokality a vrátiť sa späť na verziu, ktorá fungovala. To opäť zaberie len veľmi krátky čas a zníži prestoje.
Bez ohľadu na to, čo sa rozhodnete urobiť, prestaňte ešte dnes používať FTP klienta na nasadenie svojich klientskych súborov. Malé mesačné náklady na Deploybot sa vám vrátia zakaždým nie urobte chybu pri nasadzovaní súborov.