私たちのオフィスにはgitlab
セットアップがあり、そこに毎週約100〜150のプロジェクトを作成する必要がありますが、管理者はリポジトリの作成とチームの割り当てを管理したいと考えています。毎週、多くのレポを作成するのは誰にとっても少しの仕事です。
create repo on Gitlab using CLI
-ssh
を使用する必要があるかどうかは気にしません。
gitlab-cli を使用し、シェルスクリプトを使用してプロセスを自動化できます。私はこれをgitlab 5.xで使用しましたが、サイトによると、gitlab 6では動作しない可能性があります。
gitlab-cli はメンテナンスされなくなりました。作成者は Gitlab モジュールを参照して代わりに使用します-これにはCLIツールも含まれています。
特定の要求、つまりコマンドラインでプロジェクトを作成するには、次のコマンドを使用します。
gitlab create_project "YOUR_PROJECT_NAME" "{namespace_id: 'YOUR_NUMERIC_GROUP_ID'}"
namespace_id
ではなく、必ずgroup_id
オプションを使用してください。 GROUP_ID
が何かわからない場合は、
gitlab groups | grep YOUR_GROUP_NAME
見つけるために。
各コマンドのパラメーターは APIドキュメント から推測できます。非スカラー値のパラメーターは、(上記のように)インラインYAML構文でエンコードする必要があります。
リポジトリを作成したいだけなので、サードパーティのアプリは必要ありません。リポジトリを作成するgitlab APIに投稿リクエストを直接送信できます。
プロファイルの アカウントタブ に移動すると、プライベートトークンが見つかります。了解。
ターミナルを開いて、プライベートトークン(foo
など)とレポ名(bar
など)を指定してこのコマンドを実行します。
curl -H "Content-Type:application/json" https://gitlab.com/api/v4/projects?private_token=foo -d "{ \"name\": \"bar\" }"
このコマンドを毎回実行したくない場合は、便宜上、シェルスクリプトを作成できます。
#!/bin/sh
curl -H "Content-Type:application/json" https://gitlab.com/api/v4/projects?private_token=foo -d "{ \"name\": \"$1\" }"
これをファイルgcr.sh
に保存し、chmod +x gcr.sh
を使用して実行可能にします。
リポジトリ名bar
を作成するには、次を実行します
$ ./gcr.sh bar
使いやすい:
この回答は2019年8月に関連しています。将来、そのデータは古くなる可能性があります。
lab — CLIツール。GitLabリポジトリでの操作を簡単にします。 labは、GitHubの hub 拡張に相当するGitlabです。
最初の実行後、ラボはトークンの入力を提案します。 パーソナルアクセストークンを作成します 目的のスコープapi
→端末に貼り付けます→ Enter。
次に lab project create
:
lab project create -n KiraLab --public -d "Kira lab demo project"
オプションが利用可能です:
--public
—リポジトリを非公開ではなく公開する-d
、--description
—説明を作成していますGitLabリポジトリ操作用のクロスプラットフォームのGo作成コマンドラインユーティリティ。
GitLabパーソナルアクセストークンを作成します → gitlab-cli login YOUR_TOKEN
→実行 gitlab-cli project create
コマンド:
gitlab-cli project create KiraGitLabCLI
このGoプロジェクトとRuby gitlab-cli ツールを混同しないでください- @ thameera回答 。
これが私の〜/ .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
}
まず、ユーザー名のトークンを取得する必要があります。このbash関数を配置したら、次の方法で使用できます。
mkdir /tmp/firstblood
echo '#hello world' > /tmp/firstblood/README.md
cd /tmp/firstblood
gitlify fallenangel
このスニペットはgitlab.com専用です。 github.comに対してgitifyという名前の別のファイルがあります。
コマンドラインからリポジトリを作成する最も簡単な方法
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