Workshop - gestiunea repository-urilor folosind GIT

1,321 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,321
On SlideShare
0
From Embeds
0
Number of Embeds
146
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Workshop - gestiunea repository-urilor folosind GIT

  1. 1. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ Incheiere Gestiunea repository-urilor folosind solutii Git , Linux and Open Source R˘zvan Deaconescu a razvan@rosedu.org 24 februarie 2011R˘zvan Deaconescu aGit Repositories
  2. 2. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ Incheiere 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  3. 3. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  4. 4. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereSisteme 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, DarcsR˘zvan Deaconescu aGit Repositories
  5. 5. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGit model descentralizat: fiecare utilizator detine o copie , complet˘ a repository-ului a “very fast and scalable” dezvoltare neliniar˘ si distribuit˘ a , a facil de creat si gestionat branch-uri ,R˘zvan Deaconescu aGit Repositories
  6. 6. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereURL-uri Git SSH (autentificare pe baz˘ de parol˘ sau chei) a a razvan@swarm.cs.pub.ro:git-repos/slides.git HTTP(S) http://swarm.cs.pub.ro/git/razvan-code.git gitdaemon git://github.com/vmchecker/vmchecker.gitR˘zvan Deaconescu aGit Repositories
  7. 7. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGit peste SSH avantaje securizat privat evitarea parolei (cheie public˘) a usor de configurat , dezavantaje problematic de partajat (ˆ general) necesit˘ un cont Unix ın aR˘zvan Deaconescu aGit Repositories
  8. 8. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGit peste HTTP avantaje universal disponibil (portul 80) configurare facil˘ ˆ cadrul unui server web a ın dezavantaje lent configurare suplimentar˘ pentru push (post-update hook) sau a autentificareR˘zvan Deaconescu aGit Repositories
  9. 9. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereProtocolul Git avantaje rapid simplu dezavantaje posibilit˘ti reduse de configurare a permisiunilor (ˆ general a, ın read-only) configurare daemon/serviciu nou not Internet friendly port (9418)R˘zvan Deaconescu aGit Repositories
  10. 10. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  11. 11. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitolite http://github.com/sitaramc/gitolite gestiune centralizat˘ a repository-urilor a acces pe baz˘ de chei publice SSH, f˘r˘ necesitatea unui cont a aa Unix command="command" ˆ authorized keys ın gestiunea accesului la repository-uri configurarea tot ˆ ıntr-un repository Git (repository-uri, acces, chei publice)R˘zvan Deaconescu aGit Repositories
  12. 12. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAvantaje folosire Gitolite gestiunea repository-urilor se realizeaz˘ centralizat a crearea repository-urilor se realizeaz˘ automat la push a controlul accesului posibilitate de administrare partajat˘ (accesul la repository-ul a de administrare)R˘zvan Deaconescu aGit Repositories
  13. 13. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  14. 14. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitweb https://git.wiki.kernel.org/index.php/Gitweb interfat˘ web pentru vizualizarea repository-urilor ,aR˘zvan Deaconescu aGit Repositories
  15. 15. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAvantaje folosire Gitweb usor de configurat si instalat , , apt-get install gitweb interfat˘ de parcurgere a codului ˆ browser ,a ın publicare informatii: ownership, URls, description , download snapshots (.zip, .tgz)R˘zvan Deaconescu aGit Repositories
  16. 16. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  17. 17. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitHub https://github.com/ “social coding” utilizatorul creeaz˘ repository-uri a poate invita alti utilizatori , organizatii (echipe) , wiki, issues, graphs HTTP, git, SSH (public key) comercial – repository-uri private, colaboratori privati, spatiu , ,R˘zvan Deaconescu aGit Repositories
  18. 18. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitorious 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)R˘zvan Deaconescu aGit Repositories
  19. 19. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  20. 20. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereSingle user repository local (f˘r˘ repository URL) aa git init . && git add . && git commit -m ’initial commit’ “backup” prin SSH ˆ cazul unui cont Unix ınR˘zvan Deaconescu aGit Repositories
  21. 21. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheierePrivate party cont Unix partajat acces prin SSH (chei publice) usor personalizabil (hook-uri) ,R˘zvan Deaconescu aGit Repositories
  22. 22. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheierePrivate project 1 Gitolite acces SSH pe baz˘ de chei publice a usor de configurat si administrat , , 2 HTTPS securizare + autentificare cˆnd se foloseste unui cont specializat (username/parol˘) a , a (LDAP, database etc.) Redmine repositories cˆnd este problematic accesul prin chei SSH (pentru Gitolite) aR˘zvan Deaconescu aGit Repositories
  23. 23. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereFor the world 1 Gitolite pentru push (write updates) symlink-uri ˆ /var/cache/git si configurare a serverului web ın , (HTTP read-only access) 2 HTTPS HTTP pentru read-only HTTPS si autentificare pentru push , configurare Gitweb configurare git-daemon (read-only access) (serveste din , /var/cache/git)R˘zvan Deaconescu aGit Repositories
  24. 24. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  25. 25. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAdministrare Gitolite gestiunea facil˘, centralizat˘, scalabil˘ a repository-urilor a a a GitHub, Gitorious outsourcingR˘zvan Deaconescu aGit Repositories
  26. 26. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAll is text scripturi si fisiere de configurare , , LaTeX & LaTeX Beamer Inkscape – SVG, Dia – salvare ca fisier necomprimat (format , XML) fisiere de organizare/task-uri (Org-Mode ˆ Emacs) , ınR˘zvan Deaconescu aGit Repositories
  27. 27. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereVersionare si “diff”-ing , versionarea facil˘ a fisierelor de configurare (/etc/apache2/) a , versionarea temelor submise (studiu de caz UPB) folosire de tag-uri pentru ani se lucreaz˘ peste acelasi “code base” a , nu se mai face un director pentru fiecare anR˘zvan Deaconescu aGit Repositories
  28. 28. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereHook-uri post-receive trimis e-mail-uri/notific˘ri a creat arhive, compilat prezent˘ri/fisiere LaTeX, publicat a , resurse usor de integrat ˆ wiki-uri , ın link-ul nu se schimb˘, doar continutul acestuia a , problematic de integrat cu GitoliteR˘zvan Deaconescu aGit Repositories
  29. 29. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  30. 30. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereResurse 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/R˘zvan Deaconescu aGit Repositories
  31. 31. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereˆIntreb˘ri a repository URL Git Gitolite Gitweb scenarii all is textR˘zvan Deaconescu aGit Repositories

×