Ha már létrehoztuk a dropletet, elérjük ssh-val és feltelepítettük a git-et, composer-t, a következő lépésekkel tudunk gyorsan egy Laravel projectet git segítségével DO szerverünkre deploy-olni.
Hozzunk létre a dropletben egy mappát a /var/www útvonalon, én most az egyszerűség kedvéért project-nek nevezem el
mkdir /var/www/project
Továbbá egy mappát a git repository-nak
mkdir /var/repo/project.git
Adjunk megfelelő tulajdonos jogot a mappának (a username a saját felhasználóneved a dropletben)
chown -R username:username project.git
Hozzunk létre egy üres repo-t
cd /var/repo/project.git
git init --bare
Nyissuk meg szerkesztésre a post-receive hook fájlt a következő adatokkal
cd /var/repo/project.git/hooks
vi post-receive
Illesszük be az alábbi sorokat
#!/bin/sh
git --work-tree=/var/www/project --git-dir=/var/repo/project.git checkout -f
cd /var/www/project
composer install
npm install
npm run production
A 2. sorban levő paranccsal megadjuk, hogy git deploy-kor hova másolja a módosult fájlokat a git.
Az 5. sorban a installáljuk a composer.lock fájl alapján a változásokat.
Opcionálisan:
A 6. sorban telepítjük a node csomagokat, a 7.-ben pedig lefordítjuk az asset fájlokat.
Mentsük a fájlt, és adjunk neki futtatási jogot
chmod +x post-receive
Lokálisan, projectünkben hozzuk létre a git repository-t és küldjük fel a fájlokat a droplet egyelőre üres repo-jába
git init
git remote add origin ssh://username@xxx.xxx.xxx.xxx:/var/repo/project.git
git add .
git commit -m '...'
git push origin master
Ahol az xxx.xxx.xxx.xxx dropletünk ip címe, ez az adat az adott dropletnél a DO adminban kinyerhető.
Több parancshoz sudo jogosultság kell, de ezt biztos tudjátok vagy jelezni is fogja a rendszer.