Автоматични проекти за внедряване на PHP (разполагане), творчески блог на компанията
Ясно е, че всеки проект трябва да бъде на сървъра, за да започне своята работа. Въпросът е как да го направя бързо, лесно и сигурно.
Автоматични проекти за внедряване (разполагане)
Какво е проектите автоматични за разполагане (разполагане)? За себе си, ние сме го определя като процес на пренасяне код и структура на базата данни с локалната машина разработчик ( "пясък", ако щете) към сървъра (или групата от сървъри), който в бъдеще ще работи по проекта. Включително в този процес също така включва различни видове подготвителни операции, като почистване и отопление кеш.
Защо е необходимо? Всеки от нас е на път премина различни версии на прехвърлянето на проекта за "борба" на сървъра: този FTP (в близкото минало бяха разработчиците, които някога са писали кода на сървъра, да взаимодействат с него само чрез FTP) и SFTP и rsycn и Git дръпнете - всички тези методи имат много недостатъци, и най-важното е, че те се нуждаят от монотонен рутинна работа. Решихме, че времето е по-добре похарчени за развитие, както и всички монотонността да се доверят на колата.
Изисквания за deploya система
На първо място, ние решихме за изискванията за такава система:
- трябва да бъде в състояние да разположи на проекта в няколко други места, или на един от тях по избор - за всеки проект, ние имаме най-малко две платформи (бойни и тест), в допълнение, някои проекти да използват клъстер от сървъри,
- Проектите трябва да се мобилизират от хранилището, и в допълнение, трябва да е в състояние да разположи различни клонове хранилище на различни платформи,
- Тя трябва да бъде в състояние бързо да се върнете към предишната версия,
- процеса на обновяване трябва да е прозрачен за потребителите на сайта,
- системата трябва да бъде мащабируема и ще ви позволи да въведете допълнителни стъпки, които трябва (инсталационния пакет композитор, миграция база данни и т.н.)
- самата система трябва да бъдат задействани бързо и адаптирано за всеки проект,
- Тя трябва да бъде написана на PHP - очевидно е, че PHP-разработчик среда е конфигуриран за работа с PHP и да го накара да се коригира за deploya среда за работа с, например, рубин - безсърдечен.
Scripts deploya за PHP
Ние започнахме да търсим подходящ готов разтвор. Дженкинс, Capistrano и т.н. То бе отхвърлено веднага, въпреки популярността им. Имахме нужда от сценарий, написан в PHP.
Изисквания към проектите, за да персонализирате пилот на ракета
Въпреки това, ние трябваше да се преструктурира и техните проекти, за които ще се прилага за тях пилот на ракета. Разбира се, че не е необходимо, но, виждате ли, че ако се върви към проекта от друг разработчик, а вие вече знаете къде е, че е хубаво да се затопли душата.
Така че, тук е структурата на файловете, които ние използваме за проекти в областта на "1C-Bitrix Site Мениджър":
-
- .Rocketeer настройки папка deploya за пилот на ракета
- документи папка, която трябва да съдържа цялата документация по проекта.
- примери папка, която трябва да се основава на примери на конфигурационни файлове "Мениджър 1C-Bitrix Site".
- .settings.php
- dbconn.php
- фронтенд папка, която ще се основава на файлове, необходими за изграждане на интерфейса.
- ИЪ папка, която ще се основава на класа файлове, които са написани специално за проекта.
- продавач директория с библиотеки, натоварени с композитор.
- уеб папка, която ще бъде на разположение от мрежата.
- Битрикс папка с файлове, принадлежащи дистрибуции "Мениджър 1C-Bitrix Site".
- локална папка всички компоненти, шаблони и модули, които са необходими за проекта.
- .gitignore услуга файл Git, които изключват определени файлове и папки от архива.
- README.MD евтино файлов формат с кратко описание на проекта.
- composer.json композитор конфигурационен файл.
- composer.phar файл с композитора на скрипта.
- rocketeer.phar файл със скрипта Rocketeer.
Изисквания за настройка на сървър
Имаше също и да изберете изискванията на сървъра. Като цяло, Rocketeer създава папка на изпускания на сървъра, където в отделни папки клонове база хранилище. На същото ниво като папка по пресата, пилот на ракета ток създава символична връзка, която води към активния в момента освобождаването - всичко това ви позволява да превключвате бързо и незабележимо за потребителя версии на сайта. Там също е споделена папка. Тя е предназначена за запазване на файлове между пресата. Например, ние я съхранява в папката качени за Bitrix и файлове от настройките на проекта на сървъра (.settongs.php и dbconn.php).
Като се има предвид нашата структура и хранилище структура, ние откриваме, че коренът на документа на виртуален хост трябва да сочи към "/ papka_sayta / ток / уеб /».
Искате повече автоматизация?
Това няма да създаде постоянно от един проект към една и съща структура на папката, направихме проект за композитора.
Сега, за разполагане на един скелет на проекта изпълнява в достатъчна степен в конзолата