wake-up-neo.net

erstellen eines Repos in Gitlab mithilfe von CLI

Wir haben ein gitlab-Setup in unserem Büro, und wir haben jede Woche etwas 100-150 Projekte zu erstellen, während der Admin die Kontrolle über das Erstellen von Repos und das Zuweisen von Teams behalten will jede Woche so viele Repos erstellen.

Gibt es einen Weg zucreate repo on Gitlab using CLI- Ich habe nichts dagegen, wenn ich ssh dafür verwenden muss.

21

Sie können gitlab-cli verwenden und den Prozess mit einem Shell-Skript automatisieren. Ich habe dies in gitlab 5.x verwendet, aber laut Site funktioniert es möglicherweise nicht mit gitlab 6.

2
thameera

gitlab-cli wird nicht mehr gepflegt, der Autor verweist auf das stattdessen zu verwendende Gitlab - Modul - es enthält auch ein CLI-Tool.

Verwenden Sie für Ihre spezifische Anforderung - das Erstellen eines Projekts in der Befehlszeile - den folgenden Befehl:

gitlab create_project "YOUR_PROJECT_NAME" "{namespace_id: 'YOUR_NUMERIC_GROUP_ID'}"

Stellen Sie sicher, dass Sie die Option namespace_id und nicht group_id verwenden! Wenn Sie nicht sicher sind, was Ihr GROUP_ID ist, können Sie verwenden

gitlab groups | grep YOUR_GROUP_NAME

herausfinden.

Die Parameter für jeden Befehl können der API-Dokumentation entnommen werden. Jeder nicht skalare Wertparameter muss in einer Inline-YAML-Syntax (wie oben) codiert werden.

18
Michael Lihs

Da Sie nur ein Repo erstellen wollten, benötigen Sie keine Apps von Drittanbietern. Sie können eine Post-Anfrage direkt an gitlab senden, wodurch ein Repo erstellt wird.

Gehen Sie in Ihrem Profil zu account tab , Sie finden ein privates Token. Kopiere das.

Öffnen Sie nun das Terminal und führen Sie diesen Befehl mit dem privaten Token (etwa foo) und Ihrem Repo-Namen (beispielsweise bar) aus.

curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"bar\" }"

Der Einfachheit halber können Sie ein Shell-Skript erstellen, wenn Sie diesen Befehl nicht jedes Mal ausführen möchten.

#!/bin/sh

curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"$1\" }"

Speichern Sie dies in einer Datei gcr.sh und machen Sie es mit chmod +x gcr.sh ausführbar.

Um einen Repo-Namen bar zu erstellen, führen Sie ihn aus

$ ./gcr.sh bar
10
ChillarAnand

1. Zusammenfassung

Einfach zu verwenden:


2. Haftungsausschluss

Diese Antwort ist relevant für August 2019. Zukünftig sind die Daten möglicherweise veraltet.


3. Labor (empfohlen)

3.1. Über

lab - CLI-Tool, das einige Operationen mit GitLab-Repositorys vereinfacht. lab ist Gitlab gleichbedeutend mit hub extension for GitHub.

3.2. Verwendungszweck

Nach dem ersten Start bietet lab die Eingabe eines Tokens an. Erstellen Sie ein persönliches Zugriffstoken mit dem gewünschten Bereich api → Fügen Sie es in das Terminal ein → Enter.

Führen Sie dann lab project create aus:

lab project create -n KiraLab --public -d "Kira lab demo project"

3.3. Ergebnis

lab

3.4. Warum empfohlen

Optionen stehen zur Verfügung:

  1. --public - Repository öffentlich machen, nicht privat
  2. -d, --description - Beschreibung erstellen

lab description


4. Gitlab-Cli

4.1. Über

Plattformübergreifendes Go-written-Befehlszeilendienstprogramm für GitLab-Repositorys.

4.2. Verwendungszweck

Erstellen Sie Ihr persönliches GitLab-Zugriffstoken gitlab-cli login YOUR_TOKEN → run gitlab-cli project create command:

gitlab-cli project create KiraGitLabCLI

4.3. Ergebnis

gitlab-cli

4.4. Hinweis

Bitte verwechseln Sie dieses Go-Projekt nicht und Ruby gitlab-cli tool from - @ thameera answer .


5. Externe Links

  1. GitLab CLI-Clients
  2. Anleitung, wie man ein GitHub-Repository über die Kommandozeile erstellt (auf Russisch)

Hier ist was ich in meinem ~/.bashrc habe

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
}

Sie müssen zuerst ein Token für Ihren Benutzernamen haben. Sobald diese Bash-Funktion eingefügt wurde, können Sie sie verwenden, indem Sie:

mkdir /tmp/firstblood
echo '#hello world' > /tmp/firstblood/README.md
cd /tmp/firstblood
gitlify fallenangel

Dieses Snippet gilt nur für gitlab.com. Ich habe eine andere, die ich gitify für github.com benannte. 

0
typelogic

Am einfachsten können Sie Repo über die Befehlszeile erstellen 

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