Php highload автоматизация deploya Productions на сървъра

Актуализация код prodakshene (или използването), един от домакинската работа, които трябва да изпълнява от време на време, както и в зависимост от сложността на архитектурата може да стане или просто, или ужасно досаден процес.







Ние сме програмисти, за да автоматизират рутинните, така че тук ще се съсредоточим върху автоматизирането на процеса на актуализация в Productions за освобождаване от отговорност, използвайки надникна в рубисти Capistrano полезност.

Capistrano се разпространява като рубин gem'a, следователно, да се определят първите поставените камъни:

последван от един скъпоценен камък, избран Capistrano

Това трябва да се разположи на процеса за изграждане на

Инструкциите са написани на Capfile файл, който обикновено е в основата на проекта и съдържа стъпки, както и разнообразие от функции се използва, когато deploe (или да се автоматизира всичко друго, което досадни задачи).

Нека да изберете актуализацията на проекта, който съдържа PHP / Nodejs код се съхранява в стомашно-чревния тракт, независимо от факта, че prodakshene NodeJS PHP и работи на различни сървъри. Така че, да се актуализира на цялата система е необходимо:

Сървър 1:
актуализира PHP код от Git
Сървър 2:
1. Спрете старите сървърни NodeJS
2. Актуализиране на NodeJS от Git






3. Започнете новите сървърни NodeJS

Започваме със сървъра за конфигурация. Тъй като ние Capistrano "назаем" в рубисти, че е естествено и Capfile ще трябва да пишат на Ruby, но нищо лошо в това, не се изисква висше познание за нашите плътски проблеми.

Предписват параметрите на достъп до двата сървъра:

Сега трябва да създадете задача да актуализира PHP код:

Задача "update_appserver" ще изпълни всички свои команди на сървъра (или сървърите), посочен в app_server. За да актуализирате в този случай е просто изпълнен Git дърпане в определена папка (Capistrano е в състояние да по- "умни" да работи с Git, тук).

Queue актуализация NodeJS

Разходка в употреба:

поставя - изходна линия (например за индикация на текущата фаза deploya)
тичам - изпълните командата на сървъра
улавяне - изпълнение и да се върне в резултат на това се използва, за да получите ID на процеса на сървъра за следващите nodejs спрат.

И най-накрая, направете задачите, които ще се представят пълен ъпгрейд:

Сега работи в конзолата и се наслаждавайте на процеса.

Както можете да видите всички високи въпроси.

Но най-вкусни, че в ролите, които зададохме в началото, можете да посочите не само един, а няколко сървъра, т.е. не само

В този случай, командата ще се извършва паралелно на всички сървъри.

По този начин, не е рутинна, гъвкав и разширяем, ние отново се обърна към предаде на компютърната част от работата му. Друго би било да го научи да готви кафе и открита бира)

В Capistrano наистина знае много повече от изброените три отбора, така че всеки заинтересован - проект уики.

Ако публикация като - кликнете върху една - аз ще бъда щастлив.