Какво е разгръщане
Безспорно е, че темата, мисля, много спиращи дупки - в края на краищата, разполагане трябва да се направи за всеки проект - но аз все още го вдигне и да ви разкажа за един чудесен инструмент, който, по някаква странна причина, все още нищо пише Хабре, а всъщност и в Руската сегмент на един път малко за него, което е написано. Поправете това недоразумение.
Deployer е добро в много отношения. Script код за deploya получава кратко. Тя е написана в добрите стари Pyhchanskom, опаковани в качеството на самостоятелно двоичен - тоест, за да отличи някои други инструменти на сървъра не е нужно да. Защо не го-zayuzat в своите проекти?
Написах една програма, Антон Медведев, в пътя си доста добър блог има. Благодаря ви, Антон :)
Това, което аз лично харесвам най-много от това, което прави този инструмент - това е възможно бързо да се върне към последната "работа" се освободи, ако на новата версия е бил неуспешен. Също така е доста удобно, че ако се опитате да "пусне" ново нещо освобождаване се обърка (миграция не е приложим, файловете на интерфейса не се събират, тестовете не шофират ..) - че текущата си приложение, което работи не се влияе - тя ще работи сякаш нищо не се е случило. Фактът, че Deployer няма да се промени връзката от една директория посочване на активния в момента освобождаването до момента, в новия си "освобождаване" няма да бъде инсталирано напълно и готов за употреба.
Единственото нещо, което не решава Deployer - потенциален проблем с миграцията на заявление до базата от данни. Но като цяло е трудно тема, аз не знам дали има някакви елегантни решения в този случай. Ако има - аз ще се радвам да знам какво.
Folder Структура пресата
Целият проект е разделен на три папки: ток. пресата и споделена. Като цяло, това е често срещано явление за такъв вид инструмент, и то е много лесно. Например, в един от моите проекти в Laravel, тази структура изглежда така:
Пример приложение скрипт deploya Laravel
Аз лично обичам да се стигне до вашия сървър, стартирайте скрипта deploya и наблюдавайте процеса на работа си. Просто се чувствам толкова по-безопасно да се живее, защото винаги може да се вземат някои спешни мерки, ако deploe нещо се обърка. И знам, хората обикновено започват като сценарий от локалната машина, която е свързана със сървъра чрез SSH и произвежда разполагане. Ако това е да се направи по няколко машини - тогава този подход със сигурност ще бъде по-удобно. Между другото, Deployer ви позволява да разгърне по няколко машини, както добре.
Разбира се, преди да получите възможност да изпълня този сценарий, трябва първо да инсталирате Deployer на вашата система.
В един от моите проекти в областта на Laravel 5 deploya deploy.php скрипт е, както следва:
Също така, аз имам няколко малки файлове, да лежи в непосредствена близост до по-горе файл: start-deploy.sh и rollback-deploy.sh. За бързо внедряване и тичам, съответно, да се връщам него.
Ето защо, за да започне deploya процес, ние сме оставени да се събират само един отбор в Bash'e:
По този начин, както можем да видим, като въведете една команда, ние ще принуди сървъра, за да извърши всички необходими стъпки, за разгръщането на нашия проект. И само ако всичко мине добре, текущата папка ще замени позоваването на новата версия и да рестартирате PHP в края на краищата.
Като цяло, това е всичко, което мога да споделя и да се покаже. Надяваме се, че това ще бъде от полза на някого. И, разбира се, че ще бъде интересно да се знае мнението на други хора за това как те правят deploem техните приложения.