There was a problem loading the comments.

cPanel Deploy Git repozitorijuma

Support Portal  »  Knowledgebase  »  Viewing Article

  Print

cPanel pruža mogućnost jednostavnog kreiranja git repozitorijuma i automatske primene i puštanja u rad (deployment) svih izmena dodatih u git repozitorijum. Da bi se ovo postiglo, neophodno je da lokalni git repozitorijum sadrži .cpanel.yml fajl i da bude podešena autentifikacija lokalnog računara putem ssh ključa. Takođe je neophodno da na lokalnom računaru bude instaliran Git.

Uprošćeno govoreći, deploy opcija služi za pokretanje određenog niza radnji, koji uglavnom ima za cilj kopiranje završenog koda iz git repozitorijuma u direktorijum sa javno dostupnim sadržajem (web sajta).

 

Pre nego što nastavite dalje, preporučujemo vam da pročitate članak o kloniranju udaljenog Git repozitorijuma:
https://helpdesk.dreamweb.rs/sr/baza-znanja/article/kloniranje-udaljenog-git-repozitorijuma

 

I članak o kreiranju Git servera u cPanel nalogu:
https://helpdesk.dreamweb.rs/sr/baza-znanja/article/kreiranje-git-servera-u-cpanel-nalogu


Postoje dva načina za konfigurisanje repozitorijuma na cPanel-u:

  1. Pull deployment - izmene se preuzimaju sa spoljašnjeg git servera na cPanel pomoću git pull komande
  2. Push deployment - izmene se šalju sa lokalnog računara na cPanel pomoću git push komande

U primeru koji sledi biće opisana oba načina konfigurisanja git repozitorijuma.

 

cPanel Git Pull deploy

Za Pull deploy potrebno je da imate git repozitorijum na nekom od git hosting servisa. U ovom primeru koristićemo Github.

Nakon što je repozitorijum na Github-u pripremljen, potrebno je kopirati adresu i uneti je u cPanel polje sa adresom za kloniranje repozitorijuma.

 

Pri kloniranju repozitorijuma sa spoljnjeg git hosting servisa, repozitorijum od koga je kloniran novi repozitorijum će automatski dodat kao upstream, što znači da će nakon toga za ažuriranje klona biti potrebna samo jedna pull komanda.Više informacija o kloniranju udaljenog Git repozitorijuma možete naći u povezanom članku.

 

Deploy proces se obavlja uz pomoć fajla pod nazivom .cpanel.yml. Ovaj fajl definiše niz komandi koje bash interpreter operativnog sistema treba da izvrši. Naredbe unutar ovog fajla su navedene u yaml formatu.

 

Ovo je primer sadržaja jednog takvog fajla:

 

---
deployment:
  tasks:
    - DEPLOYPATH="/home/$USER/public_html"
    - /bin/cp index.html ${DEPLOYPATH}/index.html
    - /bin/cp -R ./css ${DEPLOYPATH}/css

 

Deploy fajl treba da bude dodat u osnovni direktorijum projekta, odnosno git repozitorijuma.

 

Kada je novi git repozitorijum napravljen, i deploy fajl se nalazi u osnovnom direktorijumu projekta, u cPanel-u će biti prikazana opcija Deploy HEAD Commit.

 

cPanel git deploy head commit

 

Klikom na ovu opciju pokreće se git deploy i izvršavaju se naredbe navedene u fajlu, onim redosledom kojim su navedene.

 

Nakon što je proces uspešno završen, biće prikazano obaveštenje o uspešno izvršenom deploy procesu.

 

U slučaju da je na Github-u napravljena izmena, potrebno je iz cPanel-a prvo kliknuti opciju Update from Remote pa tek nakon toga Deploy HEAD Commit.

 

Kako biste jednostavnije isprobali pull deploy možete klonirati naš primer sa github-a:
https://github.com/dreamwebhost/git-deploy

 

cPanel Git Push deploy

Napomena:
Ova opcija se može koristiti samo u paketima koji podržavaju pristup putem terminala, i imaju odobrenu ovu funkciju.

 

Za uspostavljanje push deploy radnog procesa, potrebno je prvo kreirati prazan repozitorijum putem cPanel-a: Prazan repozitorijum možete kreirati prema sledećem uputstvu:

 

https://helpdesk.dreamweb.rs/sr/baza-znanja/article/kreiranje-git-servera-u-cpanel-nalogu

 

Za postojeće repozitorijume

Ukoliko posedujete na lokalnom računaru repozitorijum koji biste želeli da sinhronizujete sa cPanel nalogom, potrebno je da prvo dodate repozitorijum na cPanel-u kao remote. Nakon što je repozitorijum kreiran na cPanel-u u sekciji naslovljenoj sa "For an existing project …" biće prikazan ekran sa listom naredbi koje treba pokrenuti sa lokalnog računara kako bismo iz lokalnog repozitorijuma mogli da pošaljemo izmene na server.

 

cd /putanja/do/vašeg/repozitorijuma
git remote add origin ssh://korisnik@example.com:2233/home/korisnik/repositories/demo
git push -u origin master

 

Imajte u vidu da pre pokretanja git push naredbe treba obaviti checkout za branch koji želite da postavite na serveru.

 

Za nove repozitorijume

Ukoliko se nov repozitorijum kreira iz cPanel-a, potrebno je da se taj repozitorijum klonira na lokalni računar i da se doda commit sa lokalnog računara, nakon čega se repozitorijum na serveru može ažurirati jednostavnom push komandom sa lokalnog računara. Nakon što su fajlovi repozitorijuma na serveru (worktree) ažurirani, potrebno je da se ulogujete na cPanel i u odeljku "Git Version Control" odaberete odgovarajući repozitorijum sa liste i kliknete dugme Deploy HEAD Commit, što će automatski pokrenuti deploy prema naredbama definisanim u .cpanel.yml fajlu.

 

Nakon što je repozitorijum kloniran na lokalni računar, možemo kreirati README.md kao i .cpanel.yml fajl sledećom naredbom:

 

echo -e "# Readme" > README.md
touch '.cpanel.yml'

 

Nakon što su fajlovi dodati, možemo proveriti status fajlova komandom git status:

 

On branch master

No commits yet

Untracked files:
  (use "git add ..." to include in what will be committed)
        .cpanel.yml
        README.md

nothing added to commit but untracked files present (use "git add" to track)

 

nakon toga treba da dodamo ove izmene u git i da ih komitujemo u lokalni repozitorijum:

 

git add -A
git commit -m "Dodati fajlovi README.md i .cpanel.yml"
git push

 

Nakon što je sadržaj git repozitorijuma na serveru ažuriran, potrebno je da se ulogujete na cPanel, i iz opcije manage git repozitorijuma kliknete dugme Deploy HEAD Commit, kako bi izmene iz .cpanel.yml fajla bile izvršene.

 

Ovim je uspešno izvršen deploy git repozitorijuma na cPanel. Imajte u vidu da u .cpanel.yml fajl mogu biti dodate samo one komande koje ne zahtevaju privilegije root korisnika.


Share via
Did you find this article useful?  

Related Articles

© DreamWeb | Hosting