web-dev-qa-db-fra.com

créer un repo dans gitlab en utilisant CLI

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.

21

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.

2
thameera

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).

18
Michael Lihs

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
10
ChillarAnand

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. 

0
typelogic

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
0
midnightgamer