Automatikus telepítési projektek php (telepíteni), a cég kreatív blog
Egyértelmű, hogy minden olyan projektet kell lennie, hogy a szerver megkezdi munkáját. A kérdés az, hogy hogyan kell csinálni gyorsan, egyszerűen és biztonságosan.
Automatikus bevezetési projektek (telepíteni)
Mi az automatikus telepítési projektek (telepíteni)? Magunk is úgy határozták meg, mint a számhordozás kód és adatbázis szerkezet egy helyi fejlesztő gép ( „sandbox”, ha úgy tetszik) a szerver (vagy szerverfürtöt), amely a jövőben fog működni a projekt. Beleértve ebben a folyamatban is tartalmaz különféle előkészítő műveletekre, mint például a tisztítás és a fűtés gyorsítótár.
Miért van rá szükség? Mindannyiunknak van útban telt különböző változatai a projekt átadása „leküzdésére” a szerver: ez ftp (az elmúlt memória került a fejlesztők, akik egyszer azt írta a kódot a kiszolgálón, kölcsönhatásba vele csak ftp) és az sftp, és rsycn és git húzza - ezek a módszerek számos hiányossága van, és ami a legfontosabb, hogy szükség van egy monoton munkában. Úgy döntöttünk, hogy az idő jobban fordított fejlesztésekre, és minden az egyhangúságot bízni az autót.
Követelmények deploya rendszer
Először is, úgy döntöttünk, a követelmények egy ilyen rendszer:
- képesnek kell lennie arra, hogy telepíteni a projekt több helyszínen, illetve egyikük által választott - az egyes projektek, van legalább két platform (harci és teszt), továbbá egyes projektek használjon szerverfürtöt
- Projekteknek kell telepíteni a tárolóból, és emellett képesnek kell lennie arra, hogy telepíteni a különböző ágak adattár a különböző platformokon,
- Képesnek kell lennie arra, hogy gyorsan visszatér az előző kiadás,
- A frissítési folyamat kell lennie, mint a felhasználók számára transzparens a helyszínen,
- A rendszert úgy kell skálázható, és lehetővé teszi, hogy adja meg a további lépéseket, hogy szükségünk van (zeneszerző telepítőcsomag, adatbázis migráció stb)
- maga a rendszer kell telepíteni és gyorsan korrigált projekt
- Meg kell PHP-ben íródott - nyilvánvaló, hogy a PHP-fejlesztő környezetben van kialakítva, hogy a PHP-t és rávenni, hogy beállítsa deploya környezetben dolgozni, például rubin - szívtelen.
Scripts deploya php
Elkezdtük keresi a megfelelő kész megoldást. Jenkins, Kapisztrán, stb Elutasították azonnal, annak ellenére, hogy népszerűsége. Mi szükség van egy script PHP-ben íródott.
Követelmények projektek szabni rakétaszakértő
Azonban, mi volt az átalakításra és a projektek, annak érdekében, hogy alkalmazni kellene rájuk rakétaszakértő. Persze, nem volt szükség, de látod, hogy ha megy a projekt egy másik fejlesztő, és már tudja, hol van, ez szép, meleg a lélek.
Szóval, itt van a fájl szerkezetét, amit használni projektek „1C-Bitrix Site Manager”:
-
- .rakétaszakértő mappa deploya beállításait rakétaszakértő
- dokumentumok mappa, amely tartalmazza az összes dokumentáció a projekt.
- példák mappát, amelyet be kell példái alapján konfigurációs fájlok „1C-Bitrix Site Manager”.
- .settings.php
- dbconn.php
- frontend mappába, amely alapján kerül sor a szükséges fájlokat építeni a frontend.
- lib mappába, amely alapján kerül sor class fájlokat, hogy írt kifejezetten a projekt.
- eladó könyvtár könyvtárak által betöltött zeneszerző.
- web mappa, amely elérhető lesz az interneten.
- bitrix irattartó tartozó disztró "1C-Bitrix Site Manager".
- helyi mappa összes alkatrészt, sablonok, modulok, amelyek szükségesek a projekt.
- .gitignore szolgáltatás fájl git, melyek kizárják bizonyos fájlok és mappák a tárolóból.
- README.MD árleszállítás fájlformátum egy rövid leírást a projekt.
- composer.json zeneszerző konfigurációs fájl.
- composer.phar fájlt a script Composer.
- rocketeer.phar fájlt a script Rocketeer.
Követelmények szerver beállítása
Voltak, és beállítani a szerver követelményeknek. Általában rakétaszakértő létrehoz egy mappát a szerveren kiadások, ahol külön mappákba klónok bázis adattár. Ugyanazon a szinten, mint a kiadások mappában rakétaszakértő jelenlegi létrehoz egy szimbolikus link vezet az éppen aktív kiadás - mindez lehetővé teszi, hogy gyorsan váltsanak, és a felhasználó számára láthatatlanul elengedi a helyszínen. Ott is van egy megosztott mappa. Úgy tervezték, hogy mentse a fájlokat a kiadások között. Például, tárolja a feltöltések mappát Bitrix és a projektben lévő fájlok beállításait a kiszolgálón (.settongs.php és dbconn.php).
Mivel a szerkezet és adattár szerkezete, azt találjuk, hogy a dokumentum gyökér a virtuális host kell mutatnia „/ papka_sayta / current / web /».
Szeretne több automatizálás?
Hogy nem hozna létre folyamatosan az egyik projekt ugyanazt a mappaszerkezetet, csináltunk egy projekt a zeneszerző.
Most, hogy telepíteni a projekt csontváz végre kielégítően a konzol