Vissza a bloghoz

Hogyan konfiguráljuk az automatikus telepítést Git-tel egy VPS-en

Hogyan konfiguráljuk az automatikus telepítést Git-tel egy VPS-en

Git a legnépszerűbb verziókezelő rendszer a szoftverfejlesztés területén. Nyílt forráskódú, és 2005 óta aktívan karbantartja Linus Torvalds, a Linux híres megalkotója. Ma megdöbbentően sok szoftverprojekt (köztük kereskedelmiek is) használja a Git-et verziókezelésre.

A Git elosztott architektúrát követ, így tökéletes példája egy DVCS-nek (Distributed Version Control System - Elosztott verziókezelő rendszer). A Git használatával egyszerre kezelhetünk egy helyi és egy távoli tárolót. Ebben az útmutatóban bemutatjuk, hogyan konfigurálható egy Git projekt automatikus telepítése VPS segítségével.

Előfeltételek

Ebben az útmutatóban egy helyi tároló és egy távoli tároló lesz a VPS-en. A helyi tároló küldi a változtatásokat a távoli tárolóba. A távoli tárolóból a változtatásokat a beta vagy  live ágra küldhetjük. Ennek eléréséhez először néhány előfeltételről kell gondoskodnia.

A VPS-hez való biztonságos kapcsolat létrehozásához SSH-t fogunk használni. Szerencsére a Git is támogatja az SSH-t mint protokollt a távoli tárolókhoz való csatlakozáshoz. Ez az útmutató bemutatja a SSH konfigurálását a távoli szerverekhez való csatlakozáshoz Ubuntun.

A VPS konfigurálása

A távoli szerverünkön a következő konfiguráció lesz:

  • Éles (Live) könyvtár: /var/www/dummy-domain.com
  • Szerver tároló: /var/repo/site.git

A helyi gépről a Git elküldi a frissítéseket a VPS tárolóba. A VPS tárolóból konfigurálunk egy szkriptet, amelyet a Git arra használ, hogy automatikusan átvigye azokat az éles könyvtárba. Lehetőség van tároló konfigurálására is a beta kiadásokhoz.

  • A tárolók létrehozása

Csatlakozzon a VPS-hez, és hozza létre a tárolók helyét:

Deployment with Git screenshot 1

Ezután inicializálja a Git tárolót:

Deployment with Git screenshot 2

Itt a --bare jelző azt jelzi, hogy nem lesznek forrásfájlok, csak a verziókezelő összetevők.

  • Hookok

Ezután konfiguráljuk a tároló hookjait. Minden Git tároló tartalmaz egy hooks nevű mappát. Ez minta fájlokat tartalmaz, amelyek sablonként szolgálnak a hookokhoz és a különböző egyéni műveletekhez.

A Git official documentation szerint háromféle hook létezik:

  • pre-receive: Azonnal lefut, amint a szerver push kérést kap.
  • post-receive: Akkor fut le, amikor a push kérés befejeződött.
  • update: Hasonló a pre-receive-hez. Azonban áganként egyszer fut le.

A tároló helyéről futtassa az ls parancsot:

Deployment with Git code screenshot 3

Váltson át a következő könyvtárra: hooks:

Deployment with Git code screenshot 4

Most hozza létre a post-receive szkriptet:

A szkriptbe írja be a következő kódot. Ügyeljen arra, hogy a könyvtárak helyét ennek megfelelően módosítsa:

Deployment with Git code screenshot 6

Mentse el a fájlt, és zárja be a szerkesztőt. Állítsa be a fájlt futtathatóként:

Deployment with Git code screenshot 7

Mostantól minden alkalommal, amikor egy push befejeződik, a Git megnézi a post-receive szkriptet, és ennek megfelelően a helyükre teszi a fájlokat.

A helyi gép konfigurálása

A távoli gép készen áll a bejövő Git projektfrissítések fogadására. Ezután konfiguráljuk a helyi tárolót, hogy a VPS-t használja távoli Git szerverként.

Hozzunk létre egy minta Git projektkönyvtárat:

Configuring the Local Machine

Deployment with Git code screenshot 8

sample Git project directory:

Most inicializálja a tárolót:

Deployment with Git code screenshot 9

Meg kell adnunk a tároló távoli elérési útját. Itt a távoli helyre mint a live ágra fogunk hivatkozni. Ezután futtassa a következő parancsot:

sudo git remote

Teszteljük le. Hozzáadtunk egy shell szkriptet a projektkönyvtárhoz:

project directory

Ezután adja hozzá a fájlt a projekthez, és hajtson végre egy commitot:

Deployment with Git code screenshot 10

A következő paranccsal feltoljuk a projektet a live szerverre:

Deployment with Git code screenshot 11

A Git SSH-n keresztül fog csatlakozni a VPS-hez. Ha az SSH-kapcsolat jelszó használatára lett konfigurálva, a Git kérni fogja a hitelesítési jelszót.

Béta repozitórium

Mi van akkor, ha a projektet nem egy lépésben kell telepíteni? Lehet, hogy további tesztelésre van szükség egy beta könyvtárban. Az eddig leírt módszert használva létrehozhatunk egy másik ágat a VPS-en, amelyre úgy hivatkozunk, mint a beta ág.

  • A béta ág konfigurálása a VPS-en

Először létre kell hoznunk a könyvtárakat a VPS-en. Csatlakozzon a VPS-hez, és hozzon létre egy könyvtárat a /var/www:

Most szükségünk van egy Git repóra, amely beta ágként fog működni:

Inicializálja a repót:

sudo git init

Csakúgy, mint korábban, hozzon létre egy post-receive szkriptet:

sudo nano

Ezután írja be a következő kódot:

GNU nano

Mentse el a fájlt, és zárja be a szerkesztőt. Jelölje meg a post-receive fájlt futtathatóként:

sudo chmod
  • A béta repó hozzáadása a helyi gépen

Most már készen állunk a beta repó hozzáadására a helyi repónkhoz. A helyi projektkönyvtárból futtassa a következő Git parancsot:

Voila! A helyi repó most már konfigurálva van a béta távoli repozitóriummal. Próbálja meg feltolni a változtatásokat:

sudo git add
  • Átlépés a bétáról az élesre (Live) a VPS-en

Tegyük fel, hogy az összes változtatás összegyűlt a beta repóban. Hogyan tolja fel a változtatásokat a live repóba? Nagyon egyszerű. A VPS-en lévő beta repón belül hozzáadjuk a helyi live repót. Ezután egyszerűen feltoljuk a beta kiadást a live repóba.

Csatlakozzon a VPS-hez, és futtassa a következő parancsokat:

Ezután feltolhatja a beta kiadást a live:

sudo git push live master

Záró gondolatok

Ez az útmutató sikeresen bemutatja, hogyan konfigurálhatja és használhatja a VPS-t távoli repozitóriumként a Git-projektjéhez. A VPS automatikusan telepítheti a legújabb kódokat és fájlokat mindenféle bonyolult folyamat nélkül. Emellett központként is szolgálhat a több fejlesztőcsapat közötti együttműködéshez.

A Git segítségével egyszerű mechanizmust hozhat létre az automatikus telepítéshez. A megfelelő projektmenedzsmenthez azonban ajánlott valami olyasmit használni, mint a GitLab. A következő útmutató bemutatja a GitLab telepítését és bevezetését egy VPS-en amely több projektet kezel. Azt is megnézheti, hogyan állíthat be GitLab folyamatos integrációs (CI) csővezetékeket Ubuntu 20.04-en.

Kellemes kódolást!

author

Hark Labs

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.