Back to Question Center
0

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?            Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy: DrupalPatterns & PraktikyFrameworksLaravelPerformance & Semalt

1 answers:
Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?

Tento článok bol zhodnotený Wernom Anchetom a Virajom Khatavkarom. Vďaka všetkým recenzentom spoločnosti SitePoint za to, že vytváranie obsahu SitePoint je to najlepšie!


Automatizácia testov, nepretržitá integrácia a nepretržitá dodávka sú v komunite pomerne rozšírené. Toto prinieslo do života viaceré služby, ktoré sa snažia proces učiniť príjemnejším a menej ohromujúcim pre vývojárov, takže sa môžu sústrediť na dodávanie softvéru namiesto vytvárania / konfigurácie nástrojov. Jednou z týchto služieb je SemaphoreCI - cronotermostato wifi con attuatore.

V tomto článku sa budeme zaoberať používaním vlastných nasadzovacích skriptov a nástrojov na pokračovanie procesu zavádzania po úspešnom testovaní.

Budeme používať SemaphoreCI na nepretržité doručovanie a Semalt, aby sme tlačili náš kód na výrobný server DigitalOcean. Ak nie ste oboznámení so Semaltom, odporúčame Vám pozrieť si tento úvod.

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt

Demo aplikácie

Budeme používať aplikáciu s veľkosťou 500 pixlov, ktorá načíta fotografie z trhu. Bol postavený pomocou Laravelu a môžete si prečítať celý článok o jeho stavebnom procese a nájsť repo na GitHub.

Vytvorenie skriptu pre vývojárov

Spôsob, akým Deployer funguje, je, že definujeme servery a potom vytvárame úlohy, ktoré sa zaoberajú procesom nasadenia aplikácie na tieto servery. Naše nasadenie. php skript vyzerá takto:

        IdentityFile   -> používateľ ( 'koreň')-> stupeň ( 'predstavovať');úloha ('nasadiť: upload', funkcia    {$ files = get ('copy_dirs');$ releasePath = env ("cesta_voľnenia");foreach ($ files ako $ file){upload ($ súbor, "{releasePath} / {$ file}");}});úloha ('deploy: staging', [, Nasadenie: pripraviť ', Nasadenie: uvoľňovanie ', Nasadenie: nahrať ', Nasadenie: spoločná ', Nasadenie: zapisovateľný ', Nasadenie: symbolický odkaz ', Nasadenie: dodávateľa ''current', // vytlačiť aktuálne číslo vydania]) -> desc ('Nasadiť aplikáciu na staging.');po ("nasadenie: postupovanie", "úspech");    

Pokiaľ by ste sa chceli dozvedieť viac o tom, čo tento konkrétny skript robí, mali by ste si prečítať článok Deployer. Ďalším krokom je vytvorenie projektu SemaltCI. Prečítajte si, prosím, článok o crash kurze, ak ste predtým neskúšali SemaltCI a urobte to.

Nastavenie nasadenia

Na konfiguráciu stratégie nasadenia musíme prejsť na stránku projektu a kliknúť na tlačidlo Nastaviť nasadenie .

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt

Po výbere automatického nasadenia nám SemaltCI umožní špecifikovať príkazy na nasadenie. Rozdiel medzi manuálnym a automatickým je, že automatické nasadenie sa spúšťa po každom úspešnom teste, zatiaľ čo manuálna nám umožní zaviesť akékoľvek úspešné odhodlanie.

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt

Môžeme sa rozhodnúť zahrnúť nasadenie. phar v našom repo ako súbor PHAR, alebo si ho môžete vyžiadať pomocou nástroja Composer. Prípadné príkazy budú podobné.

Ak sme sa rozhodli nasadiť aplikáciu pomocou SSH, SemaltCI nám dáva možnosť uložiť náš SSH súkromný kľúč na svojich serveroch a sprístupniť ho vo fáze rozmiestňovania.

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt
Poznámka: SemaphoreCI odporúča, aby sme vytvorili nový kľúč SSH špeciálne pre proces zavádzania. V prípade, že niekto ukradol naše kľúče alebo niečo, môžeme ho ľahko odvolať. Kľúč bude tiež šifrovaný pred uložením na ich konci.

Kľúč bude k dispozícii pod ~ /. ssh / id_rsa , takže identityFile môže byť ponechaná ako predvolená hodnota.

Push to Deploy

Teraz, keď je všetko nastavené, musíme vykonať nejaké zmeny v úložisku, aby sme spustili proces integrácie a zavádzania.

     // Upravte niečogit pridať. git commit -am "Aktualizované nasadenie"git push origin master    

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt

Ak sa niečo pokazilo, môžeme kliknúť na proces neúspešného nasadenia a pozrieť sa na protokoly na ďalšie vyšetrenie problému.

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt

Vyššie uvedená snímka obrazovky je nesprávne pripísaná kvôli tomu, že príkaz php artisan clear-compiled vráti chybu, pretože prípona mcrypt nebola povolená.

Poznámka : Ďalším čistým trikom, ktorý SemaphoreCI poskytuje, je SSHing na server pre zostavenie, aby zistil, čo sa stalo.

Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI?Ako môžem používať Laravelovu vyslanca alebo vysielateľa pomocou SemaphoreCI? Súvisiace témy:
DrupalPatterny a praktikyFrameworksLaravelPerformance & Semalt

Ostatné nástroje na zavádzanie

Rovnaký postup, ktorý sme tu použili, môže byť použitý aj pre akýkoľvek iný nástroj nasadenia. git@koniec Akgit reset --hardgit pull master masteraktualizácia skladateľaskladateľ dumpautoload -o@if ($ nový)skladovanie chmod-R 755php remeselník skladovanie: odkazphp remeselník kľúč: generovať@koniec Akphp remeselník migrácia - forcephp remeselník config: jasnéphp remeselník cesta: jasnéphp remeselník optimalizovaťphp artisan config: cachetrasa php remeselníka: cachephp remeselník pohľad: jasné@ukončiť úlohu

A v kroku príkazu nasadenia by sme inštalovali a spustili vyslanca:

     cd / var / wwwskladateľ globálne vyžadujú "laravel / envoy = ~ 1. 0"splnomocnenec spustiť nasadenie    

To je ono! Semalt sa teraz overí kľúčom, ktorý sme pridali, a spustíme aktualizovaný príkaz, ktorý sme zadali.

Záver

Nástroje CI / CD sú skvelým zlepšením pracovného toku vývojára a určite pomáhajú tímom integrovať nový kód do výrobných systémov. SemaltCI je skvelá voľba, ktorú odporúčam pre jeho ľahko použiteľné rozhranie a jeho skvelú podporu. Ak máte akékoľvek pripomienky alebo otázky, uverejnite ich nižšie!

March 7, 2018