Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Gestiunea repository-urilor folosind solut, ii GitLinux and Open Source
Razvan [email protected]
24 februarie 2011
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Outline
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Sisteme de versionare a codului
Version Control System (VCS), Source Code Management(SCM)
repository, repository URL
working copy/clone
commit, checkout, push, pull, HEAD, branch, merge, tag,trunk
centralizat: Subversion, Perforce
descentralizat: Git, Mercurial, Darcs
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Git
model descentralizat: fiecare utilizator det, ine o copiecompleta a repository-ului
“very fast and scalable”
dezvoltare neliniara s, i distribuita
facil de creat s, i gestionat branch-uri
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
URL-uri Git
SSH (autentificare pe baza de parola sau chei)
[email protected]:git-repos/slides.git
HTTP(S)
http://swarm.cs.pub.ro/git/razvan-code.git
gitdaemon
git://github.com/vmchecker/vmchecker.git
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Git peste SSH
avantaje
securizatprivatevitarea parolei (cheie publica)us, or de configurat
dezavantaje
problematic de partajat(ın general) necesita un cont Unix
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Git peste HTTP
avantaje
universal disponibil (portul 80)configurare facila ın cadrul unui server web
dezavantaje
lentconfigurare suplimentara pentru push (post-update hook) sauautentificare
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Protocolul Git
avantaje
rapidsimplu
dezavantaje
posibilitat, i reduse de configurare a permisiunilor (ın generalread-only)configurare daemon/serviciu nounot Internet friendly port (9418)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Outline
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Gitolite
http://github.com/sitaramc/gitolite
gestiune centralizata a repository-urilor
acces pe baza de chei publice SSH, fara necesitatea unui contUnix
command="command" ın authorized keys
gestiunea accesului la repository-uri
configurarea tot ıntr-un repository Git (repository-uri, acces,chei publice)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Avantaje folosire Gitolite
gestiunea repository-urilor se realizeaza centralizat
crearea repository-urilor se realizeaza automat la push
controlul accesului
posibilitate de administrare partajata (accesul la repository-ulde administrare)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Outline
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Gitweb
https://git.wiki.kernel.org/index.php/Gitweb
interfat, a web pentru vizualizarea repository-urilor
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Avantaje folosire Gitweb
us, or de configurat s, i instalat
apt-get install gitweb
interfat, a de parcurgere a codului ın browser
publicare informat, ii: ownership, URls, description
download snapshots (.zip, .tgz)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Outline
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
GitHub
https://github.com/
“social coding”
utilizatorul creeaza repository-uripoate invita alt, i utilizatoriorganizat, ii (echipe)
wiki, issues, graphs
HTTP, git, SSH (public key)
comercial – repository-uri private, colaboratori privat, i, spat, iu
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Gitorious
http://gitorious.org/
utilizatori, repository-uri, echipe (similar GitHub)
instalabil pe sistemul local
wiki, code review
HTTP, git, SSH (public key)
suport comercial – http://gitorious.com/ (nimic concret)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Outline
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Single user
repository local (fara repository URL)
git init . && git add . && git commit -m
’initial commit’
“backup” prin SSH ın cazul unui cont Unix
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Private party
cont Unix partajat
acces prin SSH (chei publice)
us, or personalizabil (hook-uri)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Private project
1 Gitolite
acces SSH pe baza de chei publiceus, or de configurat s, i administrat
2 HTTPS
securizare + autentificarecand se foloses, te unui cont specializat (username/parola)(LDAP, database etc.)
Redmine repositories
cand este problematic accesul prin chei SSH (pentru Gitolite)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
For the world
1 Gitolite pentru push (write updates)
symlink-uri ın /var/cache/git s, i configurare a serverului web(HTTP read-only access)
2 HTTPS
HTTP pentru read-onlyHTTPS s, i autentificare pentru push
configurare Gitweb
configurare git-daemon (read-only access) (serves, te din/var/cache/git)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Outline
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Administrare
Gitolite
gestiunea facila, centralizata, scalabila a repository-urilor
GitHub, Gitorious
outsourcing
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
All is text
scripturi s, i fis, iere de configurare
LaTeX & LaTeX Beamer
Inkscape – SVG, Dia – salvare ca fis, ier necomprimat (formatXML)
fis, iere de organizare/task-uri (Org-Mode ın Emacs)
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Versionare s, i “diff”-ing
versionarea facila a fis, ierelor de configurare (/etc/apache2/)
versionarea temelor submise (studiu de caz UPB)
folosire de tag-uri pentru ani
se lucreaza peste acelas, i “code base”nu se mai face un director pentru fiecare an
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Hook-uri
post-receive
trimis e-mail-uri/notificari
creat arhive, compilat prezentari/fis, iere LaTeX, publicatresurse
us, or de integrat ın wiki-urilink-ul nu se schimba, doar cont, inutul acestuiaproblematic de integrat cu Gitolite
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Outline
1 Git
2 Gitolite
3 Gitweb
4 Hosted
5 Scenarii de utilizare
6 Recomandari
7 Incheiere
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Resurse utile
http://git-scm.com/
http://gitimmersion.com/index.html
http://www.gitready.com/
http://progit.org/
http://github.com/sitaramc/gitolite
https://git.wiki.kernel.org/index.php/Gitweb
https://github.com/
http://gitorious.org/
Razvan Deaconescu
Git Repositories
Git Gitolite Gitweb Hosted Scenarii de utilizare Recomandari Incheiere
Intrebari
repository
URL
Git
Gitolite
Gitweb
scenarii
all is text
Razvan Deaconescu
Git Repositories