Nous avons une configuration gitlab
à notre bureau et nous avons quelque 100 à 150 projets à créer chaque semaine, alors que l’administrateur souhaite garder le contrôle de la création de pensions et de l’affectation d’équipes à cette tâche. pour créer autant de repos chaque semaine.
Y a-t-il un moyen decreate repo on Gitlab using CLI
- Cela ne me dérange pas si je dois utiliser ssh
pour cela.
Vous pouvez utiliser gitlab-cli et automatiser le processus à l'aide d'un script Shell. Je l’ai utilisé dans gitlab 5.x, mais d’après le site, il pourrait ne pas fonctionner avec gitlab 6.
gitlab-cli n'est plus maintenu, l'auteur fait référence au module Gitlab à utiliser à la place - il inclut également un outil CLI.
Pour votre demande spécifique, à savoir la création d'un projet sur la ligne de commande, utilisez la commande suivante:
gitlab create_project "YOUR_PROJECT_NAME" "{namespace_id: 'YOUR_NUMERIC_GROUP_ID'}"
Veillez à utiliser l'option namespace_id
et non pas group_id
! Si vous n'êtes pas sûr de votre GROUP_ID
, vous pouvez utiliser
gitlab groups | grep YOUR_GROUP_NAME
découvrir.
Les paramètres de chaque commande peuvent être déduits de la Documentation API . Tout paramètre à valeur non scalaire doit être codé dans une syntaxe YAML en ligne (comme ci-dessus).
Puisque vous voulez juste créer un repo, vous n'avez pas besoin d'applications tierces. Vous pouvez directement envoyer une demande de publication à gitlab qui créera un repo.
Allez dans onglet de compte dans votre profil, vous trouverez un jeton privé. Bien reçu.
Ouvrez maintenant le terminal et exécutez cette commande avec un jeton privé (par exemple, foo
) et votre nom de dépôt (par exemple, bar
).
curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"bar\" }"
Pour plus de commodité, vous pouvez créer un script Shell si vous ne souhaitez pas exécuter cette commande à chaque fois.
#!/bin/sh
curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"$1\" }"
Enregistrez ceci dans un fichier gcr.sh
et rendez-le exécutable avec chmod +x gcr.sh
.
Maintenant, pour créer un nom de dépôt bar
, exécutez
$ ./gcr.sh bar
Voici ce que j'ai dans mon ~/.bashrc
gitlify() {
[ $# -eq 0 ] && return 1
repo_name=$1
username=smeagol
token=01234567890
curl -H "Content-Type:application/json" https://gitlab.com/api/v4/projects?private_token=$token -d "{\"name\": \"$repo_name\"}"
if [ $? -eq 0 ];then
git init
git add .
git commit -m "first blood"
git remote add Origin [email protected]:$username/$repo_name.git
git Push -u Origin master
else
echo "error create gitlab repo $repo_name"
fi
}
Vous devez d'abord avoir un jeton pour votre nom d'utilisateur. Une fois que cette fonction bash est en place, vous pouvez l'utiliser comme suit:
mkdir /tmp/firstblood
echo '#hello world' > /tmp/firstblood/README.md
cd /tmp/firstblood
gitlify fallenangel
Cet extrait de code ne concerne que gitlab.com. J'en ai un autre que j'ai nommé gitify pour github.com.
Meilleure façon la plus simple de créer un dépôt en ligne de commande
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add Origin [email protected]:alexpchin/<reponame>.git
git Push -u Origin master