GitLab è una delle principali soluzioni di controllo del codice sorgente e CI/CD per i moderni team di distribuzione del software. Fornisce un set completo di funzionalità per pianificazione, edificioe consegnare i tuoi progetti software
GitLab normalmente interagisce con l’utilizzo della sua interfaccia utente web o API. Nessuna di queste opzioni è particolarmente allettante per gli sviluppatori incentrati sui terminali. Fortunatamente anche GitLab ha una CLI che fornisce accesso diretto ai tuoi problemi, richieste di unione, pipeline e altre risorse, proprio accanto al tuo codice e ad altri comandi della shell. Questo articolo ti mostrerà le basi.
Cos’è Glab? Il glab GitLab CLI è stato avviato di Clemente Sam come progetto guidato dalla comunità. Da allora è stato adottato da GitLab, ricevendo la sua prima versione ufficiale guidata da GitLab nel dicembre 2022. Andando avanti, continuerà a essere gestito da GitLab e dalla comunità più ampia come strumento open source.
Glab attualmente supporta le interazioni con le seguenti funzionalità di GitLab:
Questioni Richieste di unione Pipeline Rilasci Repository Etichette Frammenti Puoi recuperare i dati esistenti dal tuo account GitLab, creare nuovi elementi ed eseguire azioni come il controllo dello stato di una pipeline e l’approvazione di una richiesta di unione. È possibile eseguire l’autenticazione a più istanze GitLab contemporaneamente, inclusi GitLab.com e i tuoi server self-hosted.
Iniziare con Glab Prima di iniziare a utilizzare Glab, crea un file token di accesso personale per il tuo account GitLab che include il file api e write_repository ambiti. Glab utilizzerà questo token per eseguire azioni per tuo conto.
Fai clic sull’icona del tuo profilo in alto a destra dell’interfaccia utente di GitLab, quindi scegli “Token di accesso” dal menu a sinistra. Dai un nome al tuo token e seleziona il api e write_repository ambiti dall’elenco. Scorri la pagina verso il basso e fai clic sul pulsante “Crea token di accesso personale”. Verrà visualizzato il valore del token: annotalo ora, poiché non sarai in grado di recuperarlo in futuro.
Successivamente, è necessario installare Glab. Puoi scaricare binari predefiniti per sistemi Windows, macOS e Linux dal file del progetto Pagina delle versioni di GitLab. Glab è anche distribuito per diversi gestori di pacchetti popolari su tutti i sistemi operativi supportati.
Una volta installato Glab, puoi autenticarti nella tua istanza GitLab eseguendo il file auth login comando. Questo avvierà una serie di prompt interattivi che ti permetteranno di scegliere tra GitLab.com o un’istanza self-hosted. Dopo aver fornito i dettagli dell’istanza, sarai in grado di inserire il token di accesso personale che hai creato in precedenza.
Successivamente ti verrà chiesto di confermare il protocollo predefinito da utilizzare per le operazioni Git. Di solito puoi accettare il valore selezionato automaticamente. SSH è preferibile ma alcuni ambienti potrebbero richiedere Git su HTTPS. Il prompt seguente ti chiede se Glab deve autenticare le operazioni Git utilizzando lo stesso token di accesso personale che hai fornito in precedenza. Questo è di solito il comportamento desiderato.
Infine, se utilizzi un’istanza GitLab self-hosted, ti verrà chiesto di scegliere tra i protocolli HTTP e HTTPS per l’accesso all’API GitLab. Scegli HTTPS a meno che tu non sappia che la tua istanza supporta solo HTTP.
Alla fine della sequenza, dovresti ricevere un messaggio di successo “Accesso effettuato”.
Accesso a un’altra istanza GitLab Puoi accedere a un’altra istanza GitLab ripetendo il file auth login comando. In esecuzione auth status emetterà un elenco di tutti gli endpoint che hai configurato.
Usando Glab Glab è pensato per essere eseguito dalla directory di lavoro del tuo progetto. Inizia da cd-ing in una directory che contiene un repository Git. I comandi Glab ora selezioneranno automaticamente l’istanza GitLab e il token di autenticazione corretti, in base al telecomando Git predefinito del progetto.
Questo modello consente l’uso continuo di progetti da più istanze GitLab. Puoi correre git e glab comandi mentre lavori, semplicemente inserendo una directory di progetto. È possibile utilizzare Glab al di fuori di un progetto, tuttavia, impostando il GITLAB_TOKEN e GITLAB_URI (o GITLAB_HOST) variabili ambientali nella tua shell, quindi specificando il file –repo flag con i tuoi comandi per identificare il progetto di destinazione (in OWNER/REPO formato). Ciò ti consente di utilizzare comodamente Glab all’interno di script automatici, ad esempio.
Questioni Elenca i problemi nel tuo progetto con il file issues list comando:
$ glab issues list Showing 3 open issues in ilmiont/ardeidae that match your search (Page 1) #376 ilmiont/ardeidae#376 Console Input allow accessing full standard input string about 1 month ago #374 ilmiont/ardeidae#374 Basis support construction via compound typehints about 11 months ago #373 ilmiont/ardeidae#373 v3.1.0 unit tests about 11 months ago Usa il –page flag per passare alle pagine successive nel set di risultati. Per impostazione predefinita, vengono visualizzati 20 elementi per pagina; questo può essere cambiato con il –per-page bandiera.
Sono supportati diversi flag di filtro. Il seguente comando recupera tutti i problemi chiusi con l’etichetta P1, che sono nella pietra miliare v3.1.0 e ti sono stati assegnati:
$ glab issue list –mine –milestone v3.1.0 –label P1 –closed Correre glab issue list –help per conoscere tutti i flag supportati.
Ottieni informazioni dettagliate su un problema specifico con issue view:
$ glab issues view 376 open • opened by ilmiont about 1 month ago Console Input allow accessing full standard input string #376 php://input 0 upvotes • 0 downvotes • 0 comments Milestone: v3.1.0 Per recuperare i commenti di un problema, aggiungi il file –comments flag al comando. I commenti saranno impaginati, come il issue list comando.
Puoi aprire la pagina dell’interfaccia utente web per un problema nel tuo browser predefinito:
$ glab issue view 376 –web È possibile creare note (commenti) contro i problemi con il file note comando. Il -m flag specifica il testo Markdown per la nota:
$ glab issue note 376 -m “This is no longer relevant” Chiudere e riaprire i problemi con il close e reopen comandi rispettivamente:
$ glab issue close 376 $ glab issue reopen 376 Per creare un nuovo problema, eseguire il file create comanda e passa i flag appropriati:
$ glab issue create –title “New Issue” –description “Demo issue” –milestone “v3.1.0” Ti verrà chiesto di confermare la creazione del problema. Puoi saltare questo impostando il -y o –yes bandiera. Sono supportati molti altri flag per definire tutte le proprietà del problema. Prova a correre glab issue create –help per esplorare le opzioni.
Richieste di unione Le interazioni di richiesta di unione di base sono simili a quelle per i problemi. Usa il list e view comandi per recuperare i dettagli delle richieste di unione esistenti. Il approve, closee merge i comandi applicano le rispettive azioni al MR:
$ glab mr merge 100 I comandi di richiesta di unione accettano un ID o un ramo di origine come argomento. Puoi unire il MR per demo-branch nel tuo ramo principale usando il seguente comando:
$ glab mr merge demo-branch È possibile visualizzare le modifiche contenute in un MR con il diff comando:
$ glab mr diff 100 L’output diff colorato verrà visualizzato nel tuo terminale in formato Git.
È anche possibile eseguire localmente il checkout e passare al ramo di origine di una richiesta di unione, senza eseguire manualmente i comandi Git:
$ glab mr checkout 100 Pipeline CI Visualizza i risultati della pipeline per il tuo progetto eseguendo ci list:
$ glab ci list Showing 3 pipelines on ilmiont/ardeidae (Page 1) (success) • #734 3.1.0-rc42 (about 9 days ago) (success) • #733 master (about 9 days ago) (success) • #732 Dbal-store-allow-upsert (about 9 days ago) Il view Il comando fornisce l’accesso ai risultati del processo per l’ultima pipeline sul ramo predefinito o specifico. Una nuova schermata del terminale mostrerà le fasi della pipeline:
$ glab ci view $ glab ci view -b demo-branch
Per attivare una nuova esecuzione della pipeline, eseguire il file glab run comando:
$ glab ci run È possibile specificare il ramo da cui originare la pipeline:
$ glab ci run -b demo-branch È anche possibile impostare Variabili CI per la corsa:
$ glab ci run –variables demo-var:demo-val,another-var:another-val È possibile accedere ai registri di un lavoro eseguendo il file ci trace comando e utilizzando il prompt interattivo per selezionare il lavoro di destinazione. Sono disponibili anche artefatti: the ci artifact Il comando scarica gli artefatti dalla pipeline più recente, per il ramo predefinito o per uno specificato identificato da -b bandiera.
Infine, Glab include un linter integrato per il .gitlab-ci.yml file nella tua directory di lavoro. Ciò ti consente di controllare comodamente la validità della tua pipeline, senza copiare e incollare il file nell’interfaccia utente web di GitLab.
$ glab ci lint Getting contents in .gitlab-ci.yml Validating… ✓ CI yml is Valid! Richieste API arbitrarie I comandi di Glab sono wrapper attorno all’esistente API GitLab punti finali. Sebbene diverse API siano supportate nativamente, molte altre devono ancora essere implementate come comandi. Chiamare direttamente l’API può essere noioso perché devi fornire il tuo token di accesso personale impostando manualmente le intestazioni della richiesta.
Glab include un comando di utilità per effettuare richieste autenticate arbitrarie rispetto all’API. Il glab api Il comando accetta un URI relativo da richiedere nel contesto dell’istanza GitLab attiva. L’esempio seguente ottiene i tag Git associati al progetto con l’ID di 1:
$ glab api projects/1/repository/tags I dati grezzi della risposta API verranno inviati al tuo terminale in formato JSON.
Impostare il metodo HTTP per la richiesta utilizzando il file -X o –method bandiera. È possibile fornire i dati del corpo della richiesta con il file -F o –field bandiera:
$ glab api projects/1/repository/tags -X POST –field tag_name=demo –field ref=main Puoi includere intestazioni di richiesta personalizzate impostando il -H o –header bandiera.
Utilizzo di alias Glab supporta alias di comando personalizzati in modo da poter accedere rapidamente alle funzionalità di uso comune.
Crea un nuovo alias eseguendo il file alias set comando:
$ glab alias set issues “issue list” – Adding alias for issues: issue list ✓ Added alias. Ora puoi elencare i problemi nel tuo progetto eseguendo glab issues:
$ glab issues Showing 3 open issues in ilmiont/ardeidae that match your search (Page 1) #376 ilmiont/ardeidae#376 Console Input allow accessing full standard input string about 1 month ago #374 ilmiont/ardeidae#374 Basis support construction via compound typehints about 11 months ago #373 ilmiont/ardeidae#373 v3.1.0 unit tests about 11 months ago Elenca tutti gli alias con cui hai creato alias list:
$ glab alias list ci pipeline ci co mr checkout issues issue list Elimina un alias eseguendo alias delete e passando il suo nome:
$ glab alias delete issues Utilizzo di Glab per gestire DevOps Glab è la CLI ufficiale di GitLab. Ti consente di gestire l’intero processo DevOps dal tuo terminale. Puoi creare problemi, assegnare attività, esaminare richieste di unione, attivare pipeline CI e rilasciare tag, senza dover passare da uno strumento all’altro o apprendere l’API GitLab. Ciò riduce il cambio di contesto e facilita l’automazione dei flussi di lavoro più comuni.
Avere accesso ai dati GitLab insieme al tuo codice e alle operazioni Git ti mantiene concentrato sull’attività da svolgere. La CLI è anche più veloce da usare rispetto all’interfaccia utente Web, se hai dimestichezza con il lavoro in un terminale. È una preziosa terza interfaccia per la tua istanza GitLab, oltre all’interfaccia utente e all’API.
Sebbene questo articolo abbia trattato le basi dell’utilizzo di Glab per attività comuni, c’è anche molto altro che puoi esplorare. Guardare la documentazione oppure prova a correre glab help e glab –help per esplorare tutte le funzionalità disponibili.
Ora che Glab lo è completamente incorporato come progetto GitLab nativo, si promette un ulteriore sviluppo per supportare flussi di lavoro aggiuntivi e implementare le richieste della comunità. Puoi fornire il tuo feedback a GitLab aprendo un problema in repository del progetto.