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:

  1. 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
  2. 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,
  3. Képesnek kell lennie arra, hogy gyorsan visszatér az előző kiadás,
  4. A frissítési folyamat kell lennie, mint a felhasználók számára transzparens a helyszínen,
  5. 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)
  6. maga a rendszer kell telepíteni és gyorsan korrigált projekt
  7. 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).

Mi a telepítési

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