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.
- Egy helyi gép és egy távoli szerver, mindkettő Ubuntu operációs rendszert használ. Ez az útmutató bemutatja, hogyan kell konfigurálni és beállítani az Ubuntu szervereket.
- Mindkét gép konfigurálva van Git-tel.
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:
|
1 2 3 |
cd /var sudo mkdir -pv repo && cd repo sudo mkdir -pv site.git && cd site.git |
Ezután inicializálja a Git tárolót:
|
1 |
sudo git init --bare |
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:
|
1 |
ls -l |
Váltson át a következő könyvtárra: hooks:
|
1 |
cd hooks/ |
Most hozza létre a post-receive szkriptet:
|
1 |
sudo nano post-receive |
A szkriptbe írja be a következő kódot. Ügyeljen arra, hogy a könyvtárak helyét ennek megfelelően módosítsa:
|
1 2 |
#!/bin/sh git --work-tree=/var/www/dummy-domain.com --git-dir=/var/repo/site.git checkout -f |
Mentse el a fájlt, és zárja be a szerkesztőt. Állítsa be a fájlt futtathatóként:
|
1 |
sudo chmod +x post-receive |
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:
Most inicializálja a tárolót:
|
1 |
sudo git init |
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:
|
1 |
sudo git remote add live ssh://<remote_username>@<remote_ip_address>/var/repo/site.git |
Teszteljük le. Hozzáadtunk egy shell szkriptet a projektkönyvtárhoz:
Ezután adja hozzá a fájlt a projekthez, és hajtson végre egy commitot:
|
1 2 |
sudo git add . sudo git commit -m "véletlenszerű commit" |
A következő paranccsal feltoljuk a projektet a live szerverre:
|
1 |
sudo git push live master |
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:
|
1 2 |
cd /var/www sudo mkdir beta |
Most szükségünk van egy Git repóra, amely beta ágként fog működni:
|
1 2 |
cd /var/repo sudo mkdir -pv beta.git && cd beta.git |
Inicializálja a repót:
|
1 |
sudo git init --bare |
Csakúgy, mint korábban, hozzon létre egy post-receive szkriptet:
|
1 2 |
cd hooks sudo nano post-receive |
Ezután írja be a következő kódot:
|
1 2 |
#!/bin/sh git --work-tree=/var/www/beta --git-dir=/var/repo/beta.git checkout -f |
Mentse el a fájlt, és zárja be a szerkesztőt. Jelölje meg a post-receive fájlt futtathatóként:
|
1 |
sudo chmod +x post-receive |
-
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:
|
1 |
sudo git remote add beta ssh://<username>@<remote_ip_address>/var/repo/beta.git |
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:
|
1 2 3 |
sudo git add . sudo git commit -m "béta verzió" sudo git push beta master |
-
Á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:
|
1 2 |
cd /var/repo/beta.git sudo git remote add live ../site.git |
Ezután feltolhatja a beta kiadást a live:
|
1 |
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!















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