Git szerver RaspberryPi/BananaPi alapokon
Verziókezelésre de-facto szabvánnyá nőtte ki magát az utóbbi pár évben a Git és a köré épített technológiák, mint a Github és a Bitbucket. Adódhat, hogy saját szervert szeretnénk üzemeltetni olyan kód számára, amit nem szívesen tennénk fel a felhőbe. Ezen írásból kiderül, hogy hogyan tudunk egy RaspberryPi-ből vagy egy BananaPi-ből házi Git szervert varázsolni.
A verziókezelésnek szoftverfejlesztésben és más területeken is számos előnye van. Például vissza tudjuk követni a változásokat és hatékony csoportmunkát tesz lehetővé. A verziókezelés hasznosságáról és konkrétan a Git használatáról is rengeteget lehetne írni, de mivel jelen cikknek nem ez a témája, ezért csak linkelek néhány olvasnivalót:
- Amit tudnod kell fejlesztőként, IV. rész: Verziókezelés
- Git gyorstalpaló
- Verziókezelés (Wiki)
- Git (hivatalos weblap)
Git szerverből telepíthetünk csak kód tárolására alkalmas szervert, vagy használhatjuk a GitLab-ot, ami a Git szerver mellé webes felületet is ad csoportmunkát támogató funkciókkal, hasonlóan, mint a GitHub.
A GitLab-ból két változat létezik. Van az ingyenes közösségi és van a fizetős Enterprise változat. Az Enterprise változat igen sok mindent tud, de egy 10-15 fős fejlesztő csapat igényeinek bőven megfelel a Community változat. A változatok összehasonlítása itt található
A GitLab működésre bírása igen egyszerű. Első körben szükségünk lesz egy Raspbian-ra vagy egy Bananian Linux-ra és valamelyik futtatására alkalmas lapra. RaspberryPi-ből a 2-es változat támogatott hivatalosan. RPi1-en sajna nem fog elfutni, mivel a Pi első változatában a processzor ARMv6-os és a csomag ARMv7-re van fordítva. BananaPi és RaspberryPi3 egyenlőre nincs hivatalosan támogatva. Ennek ellenére gond nélkül elfut a rendszer a BananaPi-ből készített NAS gépemen.
A telepítést rendszergazdaként kell elvégeznünk. Az alábbi parancsok előtt a sudo ezt szolgálja. Bananian Linux esetében ezen parancs elhagyható a többi parancs elől ha rendszergazdaként jelentkezünk be.
Az első lépés, hogy naprakészre hozzuk a rendszerünket:
sudo apt-get update sudo apt-get upgrade |
Ezután telepítjük a GitLab függőségeit:
sudo apt-get install curl openssh-server ca-certificates postfix apt-transport-https samba |
Bár közvetlenül nem függősége a GitLab-nak, a Windows fájlmegosztás támogatás érdemes telepíteni a Samba csomagot is, ha az szeretnénk, hogy a szerverünk hostnév alapján is elérhető legyen a Windows-t futtató gépek számára.
Ha ez megvan, akkor felvesszük a GitLab tárolót az APT listába
curl https://packages.gitlab.com/gpg.key | apt-key add - |
Wheezy esetén (a simpleNAS Wheezy alapú):
sudo curl -o /etc/apt/sources.list.d/gitlab_ce.list "https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/config_file.list?os=debian&dist=wheezy" |
Jessie esetén (Legújabb RaspberryPi image):
sudo curl -o /etc/apt/sources.list.d/gitlab_ce.list "https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/config_file.list?os=debian&dist=jessie" |
Ha ezekkel megvagyunk, akkor jöhet a GitLab telepítése. Ezzel egy darabig el lesz a gép, mivel majdnem 300Mb méretű csomagot fog letölteni, ami telepítve 700-800Mb körül lesz:
sudo apt-get update sudo apt-get install gitlab-ce |
A telepítés után újra kell konfigurálni a rendszert. Az újrakonfigurálás szintén eltart egy ideig. A tesztelésre használt BananaPi rendszeremen nagyjából 8 percig futott a beállító szkript. A beállító szkript futtatása előtt érdemes a portot manuálisan áttelni, ha a szerveren már van egy webszerver vagy az OpenMediaVault, mivel ezek a 80-as porton futnak, mint http szolgáltatás, amin a GitLab is futni szeretne.
A Gitlab konfigurációs fájlja a /etc/gitlab/gitlab.rb fájl. Ebben kell átírni az external_url sor értékét úgy, hogy a cím végén kettősponttal ott legyen a port, amin elérhető. A szerkesztésre a nano szerkesztő kiválóan alkalmas:
sudo nano /etc/gitlab/gitlab.rb |
Ha a szerkesztés megvan, akkor az újrakonfiguráláshoz használható szkriptet kell futtatni:
sudo gitlab-ctl reconfigure |
Ha ez lefutott, akkor a szerverünk címén be tudunk jelentkezni a GitLab rendszerbe. Bejelentkezési adatok első használat esetén:
- Felhasználó: root
- Jelszó: 5iveL!fe
Első bejelentkezés után a jelszót meg kell változtatni, majd az új jelszóval kell bejelentkezni. Ezután használható is a rendszer. Amennyiben nem szeretnénk SMTP szervert is üzemeltetni otthonról, akkor érdemes kivenni a regisztrációs lehetőséget a bejelentkezési oldalról. Ez a bejelentkezés utáni bal oldali menüben található Settingsre kattintva megtehető, majd görgessünk le a Sign-in restrictions szekcióig és vegyük ki a Sign-up mellől a pipát.
Új projekt létrehozásánál lehetőség van már meglévő projekt klónozása alapján is dolgoznunk. A projekt létrehozása után ugyanúgy használható Git segítségével, mint minden más Git tároló 🙂
Annyit még érdemes megjegyezni a GitLab-ról, hogy a szerver kikapcsolása után viszonylag sok időt vesz igénybe a betöltése. Ez akár eltarthat 1-2 percig is és közben 502-es hibaüzeneteket dobálhat a rendszer.
A teljes GitLab dokumentáció a https://about.gitlab.com/documentation/ címen található meg. Hivatalos leírás szerint a Pi-n lévő 1GB RAM képes képes kiszolgálni 100 felhasználót, de lassú lesz. Érdemes ezért a GitLab-ot dedikált vason futtatni, vagy ha komolyan gondoljuk a használatát, akkor egy x86 alapú PC-t állítsunk be alá.