https://github.com/lpsm-dev/gitlabrc
✔️ GitLabRC - Recursive clone all projects into a namespace (group) in GitLab Server
https://github.com/lpsm-dev/gitlabrc
automation git git-clone gitlab python python-setup
Last synced: 24 days ago
JSON representation
✔️ GitLabRC - Recursive clone all projects into a namespace (group) in GitLab Server
- Host: GitHub
- URL: https://github.com/lpsm-dev/gitlabrc
- Owner: lpsm-dev
- License: wtfpl
- Created: 2020-07-27T12:54:11.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-04-27T18:46:28.000Z (26 days ago)
- Last Synced: 2025-04-30T00:12:42.423Z (24 days ago)
- Topics: automation, git, git-clone, gitlab, python, python-setup
- Language: Python
- Homepage:
- Size: 198 KB
- Stars: 7
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Hello Human 👽! Bem-vindo ao meu repositório 👋
Recursive clone all projects into a namespace (group) in GitLab Server
[](https://www.conventionalcommits.org/en/v1.0.0/)
[](https://semantic-release.gitbook.io/semantic-release/usage/configuration)
[](https://jetpack.io/devbox/docs/contributor-quickstart/)# Sumário
Expandir
- [Visão Geral](#vis%C3%A3o-geral)
- [Objetivo](#objetivo)
- [Contexto e Motivação](#contexto-e-motiva%C3%A7%C3%A3o)
- [Features](#features)
- [Requirements](#requirements)
- [Como Instalar?](#como-instalar)
- [Como Usar?](#como-usar)
- [Contribuição](#contribui%C3%A7%C3%A3o)
- [Versionamento](#versionamento)
- [Troubleshooting](#troubleshooting)
- [Show your support](#show-your-support)# Visão Geral
## Objetivo
Nesse repositório, apresento para vocês um CLI que facilita o clone de projetos do GitLab de forma recursiva.
## Contexto e Motivação
No dia a dia, muitas vezes precisamos clonar projetos do GitLab para nossa máquina local. Isso pode ser um processo tedioso e repetitivo, especialmente quando precisamos clonar vários projetos em diferentes grupos. Para facilitar esse processo, desenvolvi um CLI que permite clonar projetos do GitLab de forma recursiva.
# Features
- Lidar com a autenticação da API do GitLab usando tokens de acesso pessoal.
- Buscar/Listar toda a estrutura de projetos/grupos recursivamente a partir de um grupo root do GitLab.
- Exibir a estrutura de projetos/grupos em formato de árvore (dry-run).
- Clonar o repositório de cada projeto para um diretório local.
- Desativar a criação do grupo root no diretório local quando acontecer o clone.
- Controlar a verbosidade do CLI para melhorar a experiência do usuário.
- Permitir utilizar os métodos HTTPS e SSH para clonar projetos.
- Customizar o diretório local onde os projetos serão clonados.# Requirements
- Python >= 3.8
# Como Instalar?
```bash
pip install -r requirements.txt --break-system-packages
pip install --break-system-packages .
```# Como Usar?
> [!WARNING]
>
> - Certifique-se de que o seu token da API do GitLab (gitlab_token) tem as permissões necessárias para ler as informações do grupo e do projeto.
> - Ajuste o URL base do GitLab (gitlab_base_url) de acordo com a versão e a configuração da API da sua instância do GitLab.# Contribuição
Gostaria de contribuir? Isso é ótimo! Temos um guia de contribuição para te ajudar. Clique [aqui](CONTRIBUTING.md) para lê-lo.
# Versionamento
Para verificar o histórico de mudanças, acesse o arquivo [**CHANGELOG.md**](CHANGELOG.md).
# Troubleshooting
Se você tiver algum problema, abra uma [issue](https://github.com/lpsm-dev/gitlabrc/issues/new/choose) nesse projeto.
# Show your support
Dê uma ⭐️ para este projeto se ele te ajudou!
Feito com 💜 pelo **Time de DevOps** :wave: inspirado no [readme-md-generator](https://github.com/kefranabg/readme-md-generator)