Gogs este cel mai simplu mod de a rula un server Git local (Iată cum să-l configurezi)

Publicat: 2023-01-03
Sigla Gogs pe un fundal albastru.
Gogs

Nu doriți să vă împingeți codul într-un depozit Git găzduit? Apoi rulați propriul dvs. server Git intern. Gogs este cel mai simplu mod de a face asta. Iată cum să-l configurați.

Cuprins

Problema cu depozitele găzduite în cloud
Ce este Gogs?
Cum se instalează Gogs
Un tur rapid al Gogs
Cel mai simplu server Git - Bar niciunul

Problema cu depozitele găzduite în cloud

Fără îndoială, Git este sistemul de control al versiunilor preeminent. Chiar și în cazul proiectelor cu un singur dezvoltator, Git oferă valoare și beneficii datorită funcționalității sale de versiuni. Pentru proiectele cu mai mulți dezvoltatori, Git aduce o altă dimensiune în întregime. Cu un depozit central, la distanță, Git permite o capacitate de colaborare care va transforma modul în care echipele dvs. de dezvoltare văd controlul versiunilor.

Ce este GitHub și pentru ce este folosit?
RELATE Ce este GitHub și pentru ce este folosit?

Acesta este motivul pentru care există servicii precum GitHub, GitLab și BitBucket și de ce au cunoscut o astfel de absorbție și creștere. Numai GitHub găzduiește peste 200 de milioane de depozite. Dar depozitele găzduite în cloud nu se potrivesc tuturor. Cele mai multe dintre ele taxează pentru a găzdui depozite private. Unele dintre ele impun limite de stocare, limite de utilizator sau limite de transfer de date pentru conturile gratuite.

Chiar dacă utilizarea și dimensiunea echipei se încadrează în restricțiile conturilor gratuite sau chiar dacă sunteți dispus să plătiți pentru o licență comercială, este posibil să nu vă simțiți confortabil să stocați baza de cod în cloud.

Alternativa este să găzduiți propriul dvs. server Git fie local în propria rețea, fie accesibil privat în propriul dvs. cloud privat. Configurarea unui server Git care oferă o interfață web cu aspectul, senzația și opțiunile pe care GitHub și prietenii le-au făcut atât de populare, obișnuia să necesite un anumit grad de abilități tehnice. Acolo intervine Gogs.

Ce este Gogs?

Gogs este un proiect relativ nou, scris în Go, care oferă o instanță Git ușor de instalat, dar cu toate caracteristicile. Nu există limite pentru dimensiunea echipei, spațiul de stocare sau orice altceva.

Chiar dacă sunteți un programator pasionat, folosirea Gogs ca serviciu Git în rețeaua locală vă permite să stocați o copie a codului departe de mașina dvs. de dezvoltare. Când dvs. sau altcineva doriți să lucrați pe un alt computer sau pe un computer nou, pur și simplu clonați un depozit de pe serverul dvs. Gogs la fel cum ați face de pe GitHub.

Dacă veți folosi Gogs în mod frecvent, probabil că veți găsi convenabil să îl adăugați la aplicațiile de pornire ale computerului pe care rulează.

LEGATE: Cum să rulați un program Linux la pornire cu systemd

Cum se instalează Gogs

Pentru a instala Gogs, descărcați fișierul de arhivă corespunzător, dezarhivați-l și rulați binarul principal. Completați câteva formulare, iar Gogs vă inițializează depozitul și vă adaugă ca utilizator administrator. Apoi puteți naviga la instanța Gogs și puteți adăuga utilizatori și crea depozite.

Gogs folosește o bază de date pentru stocarea back-end. Acesta acceptă MySQL, MariaDB, PostgreSQL și TiDB. Dacă doriți să utilizați unul dintre aceste motoare puternice de baze de date, trebuie să îl localizați și să îl instalați singur, înainte de a instala Gogs. Pentru echipe mai mici, puteți utiliza SQLite3. Dacă optați pentru SQLite3, acesta este instalat pentru dvs. Desigur, va trebui să aveți și git instalat.

Descărcați binarul corespunzător.

  • Pentru majoritatea distribuțiilor Linux moderne, descărcați fișierul „Linux amd64”.
  • Dacă utilizați o versiune de Linux pe 32 de biți, descărcați fișierul „Linux 386”.
  • Dacă instalați pe un Raspberry Pi 2 sau mai devreme , descărcați fișierul „Linux armv7”.
  • Dacă instalați pe un Raspberry Pi 3, 3+ sau o versiune ulterioară , descărcați fișierul „Linux armv8”.
  • Dacă utilizați un Mac Intel, descărcați fișierul „macOS amd64”.
  • Pentru un Apple Silicon Mac, descărcați fișierul „macOS arm64”.

Am descărcat fișierul ZIP „Linux amd64”, pentru instalare pe un computer pe 64 de biți cu Ubuntu 22.10. Fișierul este mic - doar aproximativ 25 MB - așa că nu fi surprins dacă se descarcă foarte repede. E normal.

Localizați fișierul în sistemul dvs. de fișiere. Dacă ați păstrat locația implicită de descărcare a browserului dvs., fișierul va fi probabil în directorul dvs. „~/Descărcări”. Faceți clic dreapta pe el și selectați „Extract” din meniul contextual. Unele browsere de fișiere pot folosi „Extract Here” în schimb.

Un director este extras din fișierul ZIP. Este numit după fișierul descărcat. În cazul nostru, se numea „gogs_0.11.91_linux_amd64”.

Directorul extras, numit după fișierul descărcat

Faceți dublu clic pe directorul extras și veți vedea un alt director numit „gogs”.

Directorul gogs

Faceți dublu clic pe directorul „gogs”. Veți vedea fișierele și directoarele Gogs. Faceți clic dreapta în fereastra browserului de fișiere și selectați „Deschideți în terminal” din meniul contextual.

Pentru a porni instanța Gogs, tastați această comandă:

./gogs web

Pornirea serverului Gogs Git

Gogs se lansează și vă spune că ascultă pe portul 3000.

Conectați-vă la serverul Gogs deschizând un browser web și navigând la adresa IP sau numele rețelei computerului pe care rulează Gogs. Adăugați „:3000” după adresa IP sau numele rețelei. Nu includeți niciun spațiu alb.

Dacă navigați pe computerul pe care rulează Gogs, puteți utiliza „localhost” ca nume de mașină, cum ar fi „localhost:3000”. Computerul nostru Gogs se numește „ubuntu-22-10.local”, deci de la un alt computer din aceeași rețea, adresa la care trebuie să navigăm este „ubuntu-22-10.local:3000”, inclusiv numărul portului.

Prima dată când faceți acest lucru, veți vedea formularul care captează câteva informații de configurare inițială.

Porțiunea meniului de selecție a bazei de date din ecranul de configurare Gogs

Primele lucruri pe care trebuie să le facem este să selectați „SQLite3” din meniul derulant „Tip bază de date” și să introduceți numele dvs. de utilizator în câmpul „Run User”.

Câmpul „Run User” din ecranul de configurare Gogs

Dacă doriți să configurați notificări prin e-mail, va trebui să configurați câțiva pași suplimentari. Va trebui să retransmiți e-mailurile printr-un server de e-mail SMTP (Simple Mail Transfer Protocol) pe care ai permisiunea de a-l folosi. Dacă sunteți utilizator Google Gmail, puteți utiliza serverul SMTP Gmail al Google.

Acest lucru va necesita setări pe serverul de e-mail pentru a permite contului dvs. să accepte și să transmită e-mailul. Aceste setări variază de la un server de e-mail la un server de e-mail.

Gogs vă solicită să introduceți următoarele informații despre serverul dvs. de e-mail.

  • Gazdă SMTP : adresa și portul serverului de e-mail. În exemplul nostru, acesta este serverul SMTP al Google la smtp.gmail.com:587.
  • De la : adresa de e-mail de la care va fi trimis e-mailul. Pentru Gmail, aceasta ar trebui să fie adresa de e-mail Gmail a contului pe care îl utilizați.
  • E-mailul expeditorului : trebuie să fie identic cu cel de mai sus. Acesta este ID-ul contului de e-mail pe care Gogs îl va folosi pentru a vorbi cu serverul SMTP.
  • Parola expeditorului : aceasta nu este parola pentru contul Gmail. Este parola specifică aplicației pe care o obțineți de la Google atunci când vă configurați contul pentru a permite unei aplicații să trimită e-mailuri în numele dvs.
  • Activați confirmarea înregistrării : pentru ca Gogs să verifice e-mailurile utilizatorilor, bifați această casetă de selectare. Utilizatorii noi vor primi un e-mail cu un link în el. Ei trebuie să facă clic pe pentru a dovedi că adresa de e-mail este autentică și se află sub controlul lor.
  • Activați notificarea prin e-mail : bifați această casetă de selectare pentru a permite notificările prin e-mail de la Gogs.

Porțiunea „Setări serviciu e-mail” a ecranului de configurare Gogs

Desigur, dacă nu doriți să fiți deranjat de e-mailuri, puteți sări peste toate setările de e-mail.

Faceți clic pe butonul albastru „Instalați Gogs” când sunteți gata să continuați. Gogs scrie un fișier de configurare, inițializează stocarea bazei de date și pornește instanța Git.

Veți vedea pagina principală Gogs.

Pagina principală a Gogs

Primului cont de utilizator pe care îl creați i se vor acorda automat drepturi de administrator. Faceți clic pe linkul „Înregistrare”.

Crearea unui cont pe serverul Gogs

Completați formularul „Înscriere” cu numele contului dvs., o parolă pentru acest cont (introduceți-o de două ori) și cifrele din Captcha. Faceți clic pe butonul verde „Creați un cont nou”. Veți vedea pagina „Conectați-vă”.

Conectarea la Gogs

Introduceți numele și parola contului și faceți clic pe butonul verde „Conectați-vă”.

Un tur rapid al Gogs

Dacă sunteți familiarizat cu orice altă instanță Git accesată de web, vă veți găsi foarte ușor în Gogs.

Tabloul de bord Gogs înainte ca orice depozite să fie create

Vizualizarea „Tablou de bord” Gogs este puțin rară până când aveți un depozit cu care să lucrați. Faceți clic pe butonul albastru „+” și completați formularul „New Repository”.

Solicită un nume de depozit, indiferent dacă este privat sau public, și o descriere.

Crearea unui nou depozit prin furnizarea unui nume și a altor detalii

Următoarele trei câmpuri creează fișiere din șabloane.

Trei câmpuri care controlează crearea fișierelor implicite din șabloane

  • Meniul „.gitignore” vă permite să selectați un șablon pentru fișierul „.gitignore” configurat cu setări în funcție de limbile selectate. Puteți face mai multe alegeri din acest meniu, pentru a satisface depozitele care utilizează un amestec de tehnologii de dezvoltare.
  • Meniul „Licență” vă permite să alegeți o licență dintr-o listă cuprinzătoare.
  • Meniul „Readme” are o singură opțiune, un fișier implicit „README.md”.

Bifați caseta de selectare „Inițializați acest depozit cu fișierele și șablonul selectate” și faceți clic pe butonul verde „Creați depozitul”.

Un depozit nou creat care conține trei fișiere generate automat

Noul dvs. depozit este afișat pentru dvs. Gogs a creat cele trei fișiere standard pentru noi și le-a adăugat în depozit cu mesajul de confirmare „Comitare inițială”.

Am clonat depozitul pe computerul nostru, am adăugat un fișier numit „ack.c”, l-am comis și l-am împins în depozitul nostru Gogs la distanță. Toate acestea au fost făcute folosind comenzi Git standard.

Adăugarea unui fișier în depozitul local și împingerea acestuia în Gogs

După cum era de așteptat, noul nostru fișier apare în depozitul nostru Gogs.

Depozitul cu noul fișier a fost trimis cu succes în el

Făcând clic pe un fișier, ne arată conținutul fișierului individual. Fișierele Markdown sunt interpretate pentru dvs., cu titluri, linkuri, liste și toate celelalte caracteristici Markdown. Fișierele „README.md” sunt de obicei scrise în Markdown.

Conținutul fișierului README.md generat automat

Făcând clic pe pictograma creion „Editare”, putem edita direct fișierul nostru „README.md”. Am adăugat mai mult text, am folosit etichete Markdown pentru a insera hyperlinkuri și italice și am comis modificările noastre. Toate din interiorul lui Gogs.

Fișierul README.md actualizat

Înapoi în vizualizarea depozitului, este afișat fișierul nostru actualizat „README.md”, iar intrarea „README.md” din lista de fișiere arată un nou mesaj de confirmare și ora de actualizare.

Fișierul actualizat README.md cu un nou mesaj de confirmare și marca temporală

Cel mai ușor server Git – Bar niciunul

Gogs este un triumf absolut. Îmbină perfect funcționalitatea cu simplitatea.

Ieșit din cutie, va satisface nevoile majorității echipelor de pasionați sau mici de dezvoltare. Unele dintre opțiunile sale avansate sunt activate prin editarea fișierului de configurare care, implicit, se află la „~/Downloads/gogs_0.12.10_linux_amd64/gogs/custom/conf/app.ini”. Rețineți că calea va reflecta versiunea de Gogs pe care o utilizați.

Administrarea generală a sistemului poate fi efectuată din panoul de administrare, aflat la Your Profile > Admin panel .

Deși documentația Gogs este scurtă până la punctul de a fi concisă, asta înseamnă că este ușor să găsești ceea ce cauți, iar descrierile sunt suficient de detaliate pentru ca tu să le urmărești.

Dacă vă temeți cu privire la depozitele găzduite în cloud care sunt în cele din urmă sub controlul altora, luați în considerare utilizarea Gogs local. Nu veți pierde funcționalitatea, dar veți câștiga control și confidențialitate garantată.

RELATE: Cum să verificați și să vă actualizați versiunea Git