[ad_1]
O GitLab é uma das principais soluções de CI/CD e controle de origem para equipes modernas de entrega de software. Ele fornece um conjunto abrangente de recursos para planejar, construir e entregar seus projetos de software.
Normalmente, o GitLab interage com o uso de sua interface de usuário ou API da web. Nenhuma dessas opções é particularmente atraente para desenvolvedores centrados em endpoints. Felizmente, o GitLab também possui uma CLI que fornece acesso direto aos seus problemas, solicitações de mesclagem, pipelines e outros recursos, junto com seu código e outros comandos do shell. Este artigo mostrará o básico.
O que é glab?
a glab
Clement Sam iniciou o GitLab CLI como um projeto liderado pela comunidade. Desde então, ele foi adotado pelo GitLab e recebeu seu primeiro lançamento oficial liderado pelo GitLab em dezembro de 2022. No futuro, o GitLab e a comunidade em geral continuarão a mantê-lo como uma ferramenta de código aberto.
Atualmente, o Glab suporta interações com os seguintes recursos do GitLab:
- questões
- solicitações de mesclagem
- Oleodutos
- Lançamentos
- repositórios
- Tag
- fragmentos
Você pode recuperar dados existentes de sua conta do GitLab, criar novos itens e executar ações como verificar o status de um pipeline e aprovar uma solicitação de mesclagem. É possível autenticar várias instâncias do GitLab simultaneamente, incluindo o GitLab.com e seus servidores auto-hospedados.
Primeiros passos com o Glab
Antes de começar a usar o Glab, crie um token de acesso pessoal para sua conta do GitLab que inclua o api
Y write_repository
Scopes Glab usará esse token para realizar ações em seu nome.
Clique no ícone do seu perfil no canto superior direito da interface do usuário do GitLab e escolha “Tokens de acesso” no menu à esquerda. Dê um nome ao seu token e selecione o api
Y write_repository
escopos da lista. Role a página e clique no botão “Criar token de acesso pessoal”. O valor do token será exibido; anote-o agora, pois você não poderá recuperá-lo no futuro.
Em seguida, você precisa instalar o Glab. Você pode baixar binários pré-compilados para sistemas Windows, macOS e Linux na página de lançamentos do GitLab do projeto. O Glab também é distribuído para vários gerenciadores de pacotes populares em todos os sistemas operacionais suportados.
Depois que o Glab estiver instalado, você poderá autenticar sua instância do GitLab executando o auth login
domínio. Isso iniciará uma série de prompts interativos que permitirão que você escolha entre o GitLab.com ou uma instância auto-hospedada. Depois de fornecer os detalhes da instância, você poderá inserir o token de acesso pessoal criado anteriormente.
Você será solicitado a confirmar o protocolo padrão a ser usado para operações do Git. Normalmente, você pode aceitar o valor que é selecionado automaticamente. SSH é o preferido, mas alguns ambientes podem exigir Git sobre HTTPS. A próxima mensagem pergunta se o Glab deve autenticar as operações do Git usando o mesmo token de acesso pessoal que você forneceu anteriormente. Geralmente, esse é o comportamento desejado.
Por fim, se você estiver usando uma instância do GitLab auto-hospedada, será solicitado a escolher entre os protocolos HTTP e HTTPS para acessar a API do GitLab. Escolha HTTPS, a menos que você saiba que sua instância suporta apenas HTTP.
Ao final da sequência, você deve receber uma mensagem de sucesso “Logado”.
Faça login em outra instância do GitLab
Você pode fazer login em outra instância do GitLab repetindo o auth login
domínio. Corre auth status
produzirá uma lista de todos os endpoints que você configurou.
Uso do Glab
O Glab foi projetado para ser executado a partir do diretório de trabalho do seu projeto. Começar por cd
-ing em um diretório que contém um repositório Git. Os comandos do Glab agora selecionarão automaticamente a instância correta do GitLab e o token de autenticação, com base no controle remoto Git padrão do projeto.
Esse modelo permite o uso contínuo de projetos de várias instâncias do GitLab. Você pode correr git
Y glab
comandos conforme você trabalha, simplesmente entrando em um diretório de projeto. No entanto, é possível usar o Glab fora de um projeto, definindo o GITLAB_TOKEN
Y GITLAB_URI
(qualquer GITLAB_HOST
) variáveis de ambiente em seu shell e, em seguida, especificando o --repo
marque com seus comandos para identificar o projeto de destino (em OWNER/REPO
Formato). Isso permite que você use o Glab convenientemente em scripts automatizados, por exemplo.
questões
Liste os problemas em seu projeto com o issues list
domínio:
$ 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
Use o --page
sinalizador para alternar para as próximas páginas no conjunto de resultados. 20 itens são exibidos por página por padrão; isso pode ser alterado com o --per-page
bandeiras
Vários sinalizadores de filtro são suportados. O comando a seguir obtém todos os problemas fechados marcados como P1, que estão no marco v3.1.0 e foram atribuídos a ele:
$ glab issue list --mine --milestone v3.1.0 --label P1 --closed
correr glab issue list --help
para todos os sinalizadores suportados.
Obtenha informações detalhadas sobre um problema específico com 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
Para obter feedback sobre um problema, adicione o --comments
bandeira de comando. Os comentários serão paginados, como o issue list
domínio.
Você pode abrir a página da IU da web para um problema em seu navegador padrão:
$ glab issue view 376 --web
Notas (comentários) podem ser criadas contra problemas com o note
domínio. a -m
markdown especifica o texto Markdown para a nota:
$ glab issue note 376 -m "This is no longer relevant"
Fechar e reabrir problemas com o close
Y reopen
comandos respectivamente:
$ glab issue close 376 $ glab issue reopen 376
Para criar um novo problema, execute o create
comando e passe os sinalizadores apropriados:
$ glab issue create --title "New Issue" --description "Demo issue" --milestone "v3.1.0"
Você será solicitado a confirmar a criação do problema. Você pode ignorar isso definindo o -y
qualquer --yes
sinalizadores Muitos outros sinalizadores são suportados para definir todas as propriedades do problema. tente correr glab issue create --help
para explorar as opções.
solicitações de mesclagem
As interações básicas de solicitação de mesclagem são semelhantes aos problemas. Use o list
Y view
Comandos para recuperar detalhes de solicitações de mesclagem existentes. a approve
, close
Y merge
os comandos aplicam essas respectivas ações ao MR:
$ glab mr merge 100
Os comandos de solicitação de mesclagem aceitam um ID ou ramificação de origem como argumento. Você pode mesclar o MR para demo-branch
em sua ramificação principal usando o seguinte comando:
$ glab mr merge demo-branch
Você pode visualizar as alterações contidas em um MR com o diff
domínio:
$ glab mr diff 100
A saída diff colorida será exibida em seu terminal no formato Git.
Também é possível fazer check-out localmente e alternar para a ramificação de origem de uma solicitação de mesclagem, sem executar manualmente os comandos do Git:
$ glab mr checkout 100
Oleodutos CI
Visualize os resultados do pipeline para seu projeto executando 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)
a view
O comando fornece acesso aos resultados do trabalho para o pipeline mais recente na ramificação padrão ou em uma ramificação específica. Uma nova tela de terminal exibirá os estágios do pipeline:
$ glab ci view $ glab ci view -b demo-branch
Para acionar uma nova execução de pipeline, execute o glab run
domínio:
$ glab ci run
Você pode especificar a ramificação de onde obter o pipeline:
$ glab ci run -b demo-branch
Também é possível definir variáveis de CI para execução:
$ glab ci run --variables demo-var:demo-val,another-var:another-val
Você pode acessar os logs de um trabalho executando o ci trace
comando e usando o prompt interativo para selecionar o trabalho de destino. Artefatos também estão disponíveis: o ci artifact
O comando baixa os artefatos do pipeline mais recente, seja para a ramificação padrão ou para uma ramificação especificada identificada pelo -b
bandeiras
Finalmente, o Glab inclui um linter embutido para o .gitlab-ci.yml
arquivo em seu diretório de trabalho. Isso permite que você verifique convenientemente a validade de seu pipeline, sem copiar e colar o arquivo na interface do usuário da Web do GitLab.
$ glab ci lint Getting contents in .gitlab-ci.yml Validating... ✓ CI yml is Valid!
Solicitações de API arbitrárias
Os comandos Glab são wrappers em torno dos endpoints existentes da API do GitLab. Embora várias APIs tenham suporte nativo, muitas outras ainda precisam ser implementadas como comandos. Chamar a API diretamente pode ser tedioso porque você precisa fornecer seu token de acesso pessoal definindo manualmente os cabeçalhos da solicitação.
O Glab inclui um comando de utilitário para fazer solicitações autenticadas arbitrárias na API. a glab api
O comando aceita um URI relativo para solicitar no contexto de sua instância ativa do GitLab. O exemplo a seguir obtém as tags do Git associadas ao projeto com o ID de 1
:
$ glab api projects/1/repository/tags
Os dados brutos de resposta da API serão enviados para o seu terminal no formato JSON.
Defina o método HTTP para a solicitação usando o -X
qualquer --method
sinalizadores Você pode fornecer os dados do corpo da solicitação com o -F
qualquer --field
bandeiras:
$ glab api projects/1/repository/tags -X POST --field tag_name=demo --field ref=main
Você pode incluir cabeçalhos de solicitação personalizados configurando o -H
qualquer --header
bandeiras
Uso de pseudônimo
O Glab oferece suporte a aliases de comando personalizados para que você possa acessar rapidamente a funcionalidade comumente usada.
Crie um novo alias executando o alias set
domínio:
$ glab alias set issues "issue list" - Adding alias for issues: issue list ✓ Added alias.
Agora você pode listar os problemas em seu projeto executando 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
Liste todos os aliases que você criou com alias list
:
$ glab alias list ci pipeline ci co mr checkout issues issue list
Excluir um alias executando alias delete
e passando seu nome:
$ glab alias delete issues
Usando o Glab para gerenciar DevOps
Glab é a CLI oficial do GitLab. Ele permite que você gerencie todo o processo DevOps de seu endpoint. Você pode criar problemas, atribuir tarefas, revisar solicitações de mesclagem, ativar pipelines de CI e marcar lançamentos, sem precisar alternar entre ferramentas ou aprender a API do GitLab. Isso reduz a alternância de contexto e facilita a automatização dos fluxos de trabalho mais comuns.
Ter acesso aos dados do GitLab junto com seu código e operações do Git mantém você focado na tarefa em questão. A CLI também é mais rápida de usar do que a interface do usuário da Web, se você se sentir confortável trabalhando em um terminal. É uma terceira interface valiosa para sua instância do GitLab, além da interface do usuário e da API.
Embora este artigo tenha abordado os fundamentos do uso do Glab para tarefas comuns, também há muito mais que você pode explorar. Verifique a documentação ou tente executar glab help
Y glab <COMMAND> --help
para explorar todos os recursos disponíveis.
Agora que o Glab está totalmente incorporado como um projeto nativo do GitLab, é prometido mais desenvolvimento para oferecer suporte a fluxos de trabalho adicionais e implementar solicitações da comunidade. Você pode enviar feedback para o GitLab abrindo um problema no repositório do projeto.
[ad_2]