Gitlab Project doctor est un outil en lignes de commande pour nettoyer un dépôt Gitlab, en particulier :
- Anciens pipelines (avec les artefacts de jobs)
- Les packages obsolètes du package registry
Il supporte Windows, MacOS, et Linux, dont les distributions binaires sont disponibles à chaque release.
- Télécharger la dernière version pour votre système d'exploitation.
- Dézipper et rendre la commande exécutable
chmod +x gitlab-project-doctor
- La variable d'environnement GL_TOKEN a besoin d'être définie avec un token privé muni des bons
privilèges (owner du projet). Par exemple, pour Linux :
read -s GL_TOKEN # Pour entrer le secret
- Vous pouvez analyser le projet dont le premier remote est un dépôt Gitlab
cd my_favorite_gitlab_repo gitlab-project-doctor .
- Ou vous pouvez analyser aà partir de l'URL du projet Gitlab
gitlab-project-doctor --url https://<your-gitlab-repo.com>/your-project-path
Avec Gitlab, lorsque vous autorisez les packages dupliqués (par défaut), lorsque vous téléversez un package avec le même nom et la même version, l'ancien package n'ets plus disponible, mais n'est pas supprimé ! gitlab-project-doctor détecte :
- Les packages dupliqués génériques : même nom, même version
- Les anciens packages Maven SNAPSHOT : Même artifactId et même version SNAPSHOT
Vous pouvez utiliser gitlab-project-doctor en mode batch, par exemple dans un job de CI/CD.
Dans un environnement Gitlab CI, voici un exemple de déclaration :
# A job in the .gitlab-ci.yml file of the project you want to clean
clean_project:
image: $CI_REGISTRY/pub/numeco/gitlab-project-doctor:latest
variables:
# You need to declare a project-based private token with **owner** privilege
GL_TOKEN: $GL_WRITE_TOKEN
stage: build
# The option -b activates the batch mode
# The option -d specifies the number of days
script:
- gitlab-project-doctor --url $CI_PROJECT_URL -b -d 30
- Release initiale avec détection de packages generic et Maven
- Internationalisation (Français)
- Mode batch et image de container (basée sur Alpine)
- Container registry
- Dépôts Git trop volumineux
Cf. open issues pour une liste de nouvelles fonctionnalités proposées et bugs connus.
Les contributions sont ce qui fait de la communauté open source un endroit incroyable pour apprendre, s'inspirer et de créer. Toutes les contributions que vous faites sont grandement appréciées.
Si vous avez une suggestion qui permettrait d'améliorer ce projet, veuillez forker le dépôt et créer une pull request. Vous pouvez aussi simplement ouvrir une issue avec le tag " enhancement". N'oubliez pas de donner une étoile au projet ! Merci encore !
- Forkez le Project
- Créez votre branche de feature (
git checkout -b feature/AmazingFeature
) - Commitez votre codes (
git commit -m 'Add some AmazingFeature'
) - Pushez sur la branche (
git push origin feature/AmazingFeature
) - Ouvrez Pull Request
Distribué sous la licence MIT. Voir LICENSE
pour plus d'informations.
Geoffrey Arthaud - [email protected]
- ripgrep project pour les Github actions