Oggigiorno i programmi di codifica e di sviluppo software sono in aumento. Pertanto, anche la domanda di programmi utilizzati in questo campo è alle stelle. Ciò ha causato la creazione di un ambiente altamente competitivo nel mondo online in cui diversi programmi di codifica e DevOps competono per vincere il premio del programma più comunemente utilizzato nei rispettivi campi. Git è uno di questi programmi. Questo, unito alla nuova normalità del lavoro remoto per lavori svolti per lo più dietro lo schermo di un computer, ha portato molte persone a ospitare i propri programmi, incluso Git, su server remoti. Se anche tu ti ritrovi in questa categoria e desideri installare un tuo server Git, non cercare oltre.
In questo articolo, esaminerò cos'è esattamente Git e ne tratterò i pro e i contro, prima di mostrarti quali requisiti avrai bisogno e ospitare il tuo server Git. Andiamo!
Cos'è Git?
Va bene è un programma DevOps progettato per consentire a codificatori e programmatori di portare a termine i loro progetti ed eseguirli nel modo più efficiente possibile. La funzione più cruciale di Git è tenere traccia dei cambiamenti nel codice sorgente nel tempo. Git lo è gratuito e open source e riceve aggiornamenti regolari. Ciò rende Git uno dei programmi DevOps di codifica più facilmente accessibili e affidabili al mondo. Ogni computer in cui si trova un'istanza di Git funge da directory di repository completa con la propria cronologia separata di tutte le modifiche ai file. Dopo quasi 20 anni di sviluppo attivo e più di 30 aggiornamenti rilasciati per Git, il programma attualmente funziona con la versione 2.40.0, con ulteriori aggiornamenti futuri in sospeso. Ora impariamo alcuni casi d’uso di Git per capire meglio perché vorremmo installare il server Git in primo luogo.
Casi d'uso di Git
Prima di muoverci troppo velocemente per ospitare il tuo server locale Git, familiarizziamo rapidamente con i casi d'uso principali di Git per capire perché eseguiremo un server Git in primo luogo.
Archivio di clonazione
Molti sviluppatori e programmatori preferiscono creare un repository Git sul server per tenere traccia dei programmi e dei file che desiderano. Git può facilmente e, attraverso alcuni comandi di base, permetterti di replicare il tuo attuale repository del kernel Linux e usarlo per raccogliere un registro delle modifiche molto più coerente ed efficiente dei soli file che ti interessano. Il processo è facile da eseguire e puoi gestire facilmente progetti di codifica piccoli e grandi con esso. Questo processo è noto anche come “ramificazione", poiché in sostanza crei un nuovo ramo dal tuo repository già esistente.
Flusso di lavoro Git
Git Workflow è un altro caso d'uso importante che utilizzerai dopo aver configurato un tuo server git. Puoi utilizzare il tuo server locale Git per creare due serie di rami utilizzando il processo di clonazione e fare in modo che uno di essi sia rappresentativo del tuo progetto, ad esempio un sito web. Successivamente è possibile creare un server Git con un ramo di produzione separato dove verranno registrate tutte le modifiche apportate da ogni singolo sviluppatore e potranno anche essere testate prima dell'implementazione. Questo approccio multilivello allo sviluppo e ai test non solo aumenta la tua efficienza, ma rende anche incredibilmente semplice il tracciamento del processo di sviluppo e delle modifiche.
Fusione
Ricordi di aver ramificato il tuo repository e di aver modificato il registro? Come suggerisce il nome, la fusione è l’esatto opposto di questa operazione. Nella fusione, che è ampiamente considerata l'aspetto più impegnativo di Git, stiamo cercando di reinserire i dati da un nodo del ramo del repository nel repository principale da cui erano stati originariamente divisi. Questo di solito viene fatto per creare un server Git con un rapporto completo sul progetto e una cronologia delle modifiche che includa tutte le modifiche al progetto provenienti da aree diverse in un unico repository conciso e facile da decifrare. Mentre durante il progetto sono necessarie ramificazioni per evitare confusione, la fusione è progettata per invertire l'azione e fornire un quadro generale più chiaro alla fine del progetto durante la risoluzione dei problemi.
Ospita il tuo server Git: pro e contro
Ogni programma ha una serie di pro e contro cruciali che è necessario conoscere per gli utenti che desiderano entrare nel programma e utilizzarlo nei propri programmi. In questa sezione discuterò i pro e i contro applicati a Git. Tuttavia, questi pro e contro si applicano a Git solo se lo ospiti autonomamente, che è più o meno l'argomento di questa guida, quindi veniamo al dunque.
Git self-hosted: vantaggi
Nessun coinvolgimento di terze parti
Con Git self-hosted, tu e le persone che vedi sarete le uniche persone con i mezzi per accedere ai tuoi file. Ciò elimina sostanzialmente qualsiasi coinvolgimento indesiderato di terze parti e ti consente di perseguire il tuo progetto con tranquillità. Inoltre, i tuoi dati saranno molto più sicuri e potrai allocare le risorse che avevi in mente per la sicurezza altrove.
Sicurezza
Parlando di sicurezza, Git è tanto sicuro quanto puoi farlo attraverso le migliori pratiche e l’implementazione di strumenti di terze parti. Sebbene il livello di sicurezza diminuisca quando ti ospiti autonomamente invece di utilizzarlo, c'è una libertà quasi illimitata nel modo in cui puoi rendere sicure le tue operazioni.
Repository illimitati
Ricordi la clonazione e la ramificazione? Non esiste un limite al numero di repository che puoi creare con Git. Ciò lo rende incredibilmente adatto a progetti più grandi in cui ogni ramo di sviluppo necessita del proprio repository. Questo è eccellente anche per progetti con file di grandi dimensioni come risorse 3D e casi in cui lavori con Unity.
Git ospitato autonomamente: Contro
Elevati sforzi di gestione
I repository Git possono rapidamente sfuggire di mano Se decidi di configurare un server Git sulla tua piattaforma self-hosted, la gestione di tutti i rami e i metadati può presto diventare un grattacapo. Quindi devi essere incredibilmente preciso o chiedere a qualche programmatore esperto di farlo per te.
Curva di apprendimento approssimativa
Una cosa è ospitare Git, ma padroneggiarlo ed eseguire il tuo server locale Git è un'altra. Git ha probabilmente uno dei limiti di competenze più alti tra qualsiasi programma DevOps basato su repository e, ancora una volta, è necessario dedicare molto tempo ad apprenderlo o ad esternalizzarlo.
Nessuna GUI e supporto Windows
Volevi configurare un server Git su Windows? O forse volevi configurare il server Git per l'esecuzione con una GUI? Beh, sei sfortunato. Sei limitato ai sistemi operativi con kernel Linux come codice di base e non esiste una GUI che ti aiuti a semplificare le cose. Vuoi installare un server Git e un host autonomo? Meglio imparare le basi della codifica.
Metodo obsoleto
Secondo ogni parametro immaginabile, l'utilizzo di Git su un server self-hosted sembra essere obsoleto e superato da altri metodi più efficienti di esecuzione di Git. Il primo esempio di un processo di esecuzione Git più efficiente sarebbe eseguire GitLab, quindi prima di decidere di eseguire il proprio server Git, controlla GitLab pure!
Requisiti necessari per installare un server Git
Ora esaminiamo rapidamente i requisiti necessari per configurare un server Git e ospitare il proprio server Git. Per ospitare Git, sono necessari solo due componenti, un server e un'istanza di Git, con un po' di conoscenza della codifica per eseguire il processo di configurazione del server Git.
Server Git
Per quanto riguarda il server, puoi utilizzare un altro PC di tua proprietà, utilizzare server dedicati di provider tradizionali o, se preferisci un approccio più pratico, utilizzare un VPS cloud (server privato virtuale). Avendo un VPS puoi gestire direttamente il server e utilizzare contemporaneamente l'istanza Git. Tieni presente che il tuo server deve avere una distribuzione Linux per poter configurare un server Git. Cloudzy offre un'ampia varietà di VPS Linux servizi con più di 10 distribuzioni Linux affidabili come Ubuntu, Debian, CentOS, Kali e OpenSUSE. A partire da soli $ 4,95 al mese, puoi mettere le mani su un server Linux affidabile vicino alla tua posizione per garantire un'ottima qualità di connessione e utilizzarlo per ospitare autonomamente ed eseguire un server Git!
Procurati un VPS Linux economico o premium per l'hosting del tuo sito web o desktop remoto, al prezzo più conveniente in circolazione. VPS in esecuzione su Linux KVM per una maggiore efficienza e funzionante su hardware potente con storage SSD NVMe per una maggiore velocità.
Per saperne di piùIstanza Git
Il processo per configurare un server Git è semplice e lo eseguiremo automaticamente come parte del processo di installazione. Come accennato, Git è open source e non costa denaro. Questo è ciò che rende Git preferibile a molti altri programmi basati su repository incentrati sulla codifica e sullo sviluppo disponibili. Ora che abbiamo i requisiti, passiamo direttamente alla nostra guida passo passo per installare un server Git sul tuo server Linux!
Installa un server Git su Linux (guida passo passo)
Passaggio 1: scarica e installa Git
Ecco il primo passaggio nel processo di installazione del server Git. Nel terminale della tua distribuzione Linux preferita, inserisci il seguente comando per avviare il download di Git:
Distribuzioni basate su Ubuntu/Debian:
sudo apt install git
Distribuzioni basate su Arch:
sudo pacman -S git
Distribuzioni basate su RHEL:
sudo dnf install git
Questo comando scaricherà e installerà Git sul tuo server Linux. Attendi il completamento del processo.
Passaggio 2: registra e configura il server Git
Se hai un server locale su un altro desktop, avvialo, altrimenti, se hai un VPS, usa SSH o RDP per connetterti al tuo server Linux da remoto. Ora configureremo il server Git per l'esecuzione in remoto. Lo faremo creando un account Git utilizzando il seguente comando:
ssh username@address
sudo useradd git
Quindi inserisci questo comando per passare al tuo account appena creato:
su git
Questo passaggio viene eseguito principalmente per garantire la sicurezza del tuo server locale Git. Utilizzando questo account, sarai l'amministratore del server. Puoi organizzare in modo sicuro potenziali futuri utenti in gruppi di utenti con limitazioni e livelli di accesso predefiniti.
Passaggio 3: crea directory SSH e Crea un repository git sul server
Il passaggio successivo nel processo di installazione del server Git è creare una directory SSH esclusiva in cui salvare i nostri file chiavi pubbliche e crea un repository Git sul server con livelli aggiuntivi di sicurezza e livelli di accesso definiti per te. Inizia inserendo il seguente comando:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Dopo aver limitato l'accesso ad altri utilizzando questa riga di comando, inserisci la riga successiva per assicurarti che le tue chiavi SSH siano archiviate in modo sicuro in un chiavi_autorizzate cartella, dove solo tu puoi accedervi (esegui questo comando solo se NON hai un file id_rsa.pub file):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Infine, copia la chiave pubblica SSH che hai creato per impostare una nuova connessione SSH con maggiore sicurezza sul tuo server locale Git:
cd .ssh
vi authorized_keys
Passaggio 4: crea una directory principale
Nel tuo server Linux, devi creare una nuova directory per salvare tutti i repository che il tuo Git utilizzerà nei tuoi progetti futuri. Puoi conoscere i dettagli della gestione dei tuoi repository Git. Inserisci questo comando:
mkdir directory_name
Passaggio 5: aggiungi il tuo progetto!
Sei riuscito a creare un server Git! Il processo di installazione del server Git si è concluso con successo e sei anche riuscito a configurare correttamente il server Git. Non resta che aggiungere ulteriori progetti con il seguente comando:
cd parent_directory
mkdir new_project.git
Quindi inserisci questo comando per aggiungere l'origine remota al tuo computer locale:
git init --bare
git remote add origin name git@address:new_project.git
Infine, esegui un push Git per verificare se tutto funziona come previsto:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Congratulazioni, sei riuscito con successo a ospitare git e creare un repository git sul server.
Domande frequenti
Posso ospitare Git senza un server?
No. Non importa quale sia la natura del tuo server, avrai bisogno di hardware che funga da server. Puoi utilizzare GitHub per fungere da server cloud per i tuoi repository o utilizzare il nostro VPS offre o utilizza un altro servizio di hosting di terze parti per fungere da server.
Esiste un modo per installare un server Git con GUI?
SÌ. Sebbene Git stesso non supporti la GUI, è disponibile una versione autonoma con GUI nota come "Git GUI" per le persone che non possono vivere senza una GUI.
Esiste un piano a pagamento per Git?
No. Git è stato e sarà sempre un programma gratuito e open source, come dimostrano i suoi sviluppatori ed editori originali. Quindi puoi utilizzare il programma come derivato per lo sviluppo del tuo programma, altrimenti il programma è gratuito.
Perché dovresti ospitare il tuo server Git?
Supponiamo che tu stia cercando di eseguire un piccolo progetto con repository limitati. In tal caso il self-hosting è molto più privato e sicuro. Quindi questo è il motivo principale. Ma quando si passa a progetti più grandi con più repository, il self-hosting inizia a perdere la sua efficienza.