This shows you the differences between two versions of the page.
so2:teme:folosire-gitlab [2017/02/26 22:09] adrian.stanciu |
so2:teme:folosire-gitlab [2017/02/26 22:25] (current) adrian.stanciu [Git. Indicații folosire GitLab] |
||
---|---|---|---|
Line 11: | Line 11: | ||
* Git | * Git | ||
* Perforce | * Perforce | ||
- | O scurtă analiză a acestora găsiți [[http://www.sitepoint.com/version-control-software-2014-what-options/|Version control systems]]. | + | O scurtă analiză a acestora este [[http://www.sitepoint.com/version-control-software-2014-what-options/|Version control systems]]. |
Pentru SO2 propunem folosirea ''git'' din varii motive: | Pentru SO2 propunem folosirea ''git'' din varii motive: | ||
- | * funcționează foarte bine pentru proiecte ce conțin doar fișiere. (Atenție nu adăugați binare) | + | * funcționează foarte bine pentru proiecte ce conțin doar fișiere (Atenție nu adăugați binare) |
* este un sistem distribuit | * este un sistem distribuit | ||
* este light | * este light | ||
Line 22: | Line 22: | ||
===== Folosire GitLab ===== | ===== Folosire GitLab ===== | ||
- | Așa cum am precizat anterior, Facultatea de Automatică și Calculatoare pune la dispoziție [[https://gitlab.cs.pub.ro/users/sign_in|instanța GitLab]], accesibilă tuturor studenților și membrilor facultății. Autentificarea se face pe baza contului de pe [[http://cs.curs.pub.ro/|site-ul de cursuri]]. | + | Așa cum am precizat anterior, Facultatea de Automatică și Calculatoare pune la dispoziție [[https://gitlab.cs.pub.ro/users/sign_in|instanța GitLab]], accesibilă tuturor studenților și membrilor facultății. Autentificarea se face pe baza contului de pe [[http://cs.curs.pub.ro/|site-ul de cursuri]]. |
+ | |||
+ | ===== Automatizarea creării unui repo pe GitLab ===== | ||
+ | |||
+ | Echipa de SO2 pune la dispozție un [[https://github.com/systems-cs-pub-ro/so2-assignments/blob/master/so2-create-repo.sh | script]] pentru automatizarea creării unui repo privat pe GitLab și a unei clone locale. Astfel, un student nu va trebui să-și creeze singur proiectul în GitLab, ci doar va rula acest script. | ||
+ | |||
+ | <note important>Acest script este încă în perioada de testare și dezvoltare. Orice probleme întâlniți pe sistemele voastre vă rugăm să ni le raportați. De asemenea, puteți contribui la îmbunătățirea scriptului prin patch-uri sau prin semnalarea unor probleme pe github. </note> | ||
+ | |||
+ | Scriptul este disponibil pe GitHub, în [[https://github.com/systems-cs-pub-ro/so2-assignments | repo-ul public dedicat temelor de SO2]]. Îl puteți descărca local folosind comanda: | ||
+ | |||
+ | <code bash> | ||
+ | wget https://raw.githubusercontent.com/systems-cs-pub-ro/so2-assignments/master/so2-create-repo.sh | ||
+ | </code> | ||
+ | |||
+ | Imaginea următoare prezintă pe scurt entitățile gestionate și acțiunile realizate de către script: | ||
+ | |||
+ | {{ :so:teme:so_gitlab_script_workflow.png?700 | Workflow-ul scriptului de automatizare }} | ||
+ | |||
+ | La prima rulare, scriptul va crea un repo privat pe GitLab și o clonă în directorul curent al mașinii unde a fost rulat. În acest moment repo-ul privat al studentului și clona de pe mașina sa vor fi copii fidele ale repo-ului public al temelor de SO2. | ||
+ | |||
+ | Inițial scriptul va instala pachetele necesare pentru a rula și va realiza autentificarea cu serverul de GitLab, cerând utilizatorului credențialele de pe curs.cs.pub.ro. Următorul pas este să ofere posibilitatea de a încărca pe GitLab o cheie publică pentru SSH; în cazul în care nu există vreuna pe mașina locală, scriptul va genera o pereche de chei RSA. La final, va adăuga asistenții de SO2 responsabili de teme ca observatori ai proiectului de pe GitLab. | ||
+ | |||
+ | La următoarele rulări scriptul va încerca să sincronizeze clona locală cu repo-ul public. Astfel, dacă echipa de SO2 face unele modificări în repo-ul public voi vă puteți actualiza clona locală rulănd scriptul. | ||
+ | |||
+ | Mai departe, puteți interacționa cu repo-ul vostru privat prin git: o operație push va trimite modificările voastre în repo-ul de pe GitLab. | ||
+ | |||
+ | Pentru mai multe informații despre script, urmăriți [[https://github.com/systems-cs-pub-ro/so2-assignments/blob/master/README.md | README-ul]] asociat repo-ului public de pe GitHub. | ||
+ | |||
+ | ===== Folosire Git ===== | ||
+ | |||
+ | Câteva tutoriale pentru folosirea Git sunt: | ||
+ | * https://try.github.io/levels/1/challenges/1 | ||
+ | * http://gitimmersion.com/ | ||