0

コマンドラインを使用してRhodeCodeで新しいリポジトリ「newrepo」と新しいプロジェクト「newproject」を作成する方法を探しています(RhodeCodeブラウザベースのGUIクリックを使用する代わりに)。

RhodeCode のバージョンは 2.2.5 で、すべてのリポジトリ/プロジェクトが含まれています (Hg Mercurial から RhodeCode インターフェイスに移行した後)。移行されたプロジェクト、または RhodeCode GUI インターフェイスを使用して既存のリポジトリ内に手動で新しいリポジトリ/プロジェクトを作成する場合、すべてがうまく機能します。

ここで、(Jenkins から) リポジトリ/プロジェクトの作成プロセスを自動化できるように、コマンド ライン CLI/API の方法を使用して新しいリポジトリ/プロジェクトを作成したいと考えています。

少し検索したところ、次のリンクを使用する必要があることがわかりましたが、実際に実行する方法の簡単な例は見つかりませんでした: https://docs.rhodecode.com/RhodeCode-Enterprise/api/api.html#create -レポ

シェル スクリプトや groovy などを使用して、RhodeCode で新しいリポジトリを作成しようとした人はいますか? ありがとう。

PS : 新しい Hg/Mercurial リポジトリ (hg init、hg push / hg pull など) を作成するつもりはありません。

私がしようとしている自動化はこれを行います:

  1. 新しいリポジトリ/プロジェクトまたは新しいリポジトリ グループを作成し、その中にリポジトリを作成します。おそらく、一連のユーザー/グループにアクセスを許可するか、作成するなどしてください。また、空の README / DELETE_ME_ANYTIME ファイルを自動的に作成します。

  2. 上記が作成されたら、自分のマシンでローカルにプロジェクト構造を作成し、上記の新しく作成されたリポジトリ/プロジェクトまたはリポジトリ グループ/リポジトリに対してhg プッシュを実行します。

    hg クローンhttp://e100020@servermerc.hola.company.com:8010/newrepo/newproject

    hg add README # 最初のファイルを追加

    hg commit -m "Initial" # メッセージ付きコミット

    hg push # 変更を押し戻す

  3. Jenkinsビルド/etcジョブを自動作成し、最初のビルドを自動起動して完了します。

箇条書き 2、3 を自動的に実行する方法 (Jenkins でテンプレート ジョブ形式などを使用し、Maven/Gradle ビルドを実行してプロジェクトをビルドする) を知っていますが、最初の箇条書きは、コマンド ラインで実行する方法を見つけようとしていることです。

箇条書き 1 について: これを見つけました。

rhodecode-api

RhodeCode API を使用すると、RhodeCode Enterprise に接続して管理タスクを実行できます。API の詳細については、API ドキュメントを参照してください。コマンドラインで引数を渡すには、method:option 構文を使用します。

使用例:

# Run the get_repos API call and sample output
$ rhodecode-api --instance-name=enterprise-1 create_repo repo_name:brand-new repo_type:hg description:repo-desc
{
  "error": null,
  "id": 1110,
  "result": {
    "msg": "Created new repository `brand-new`",
    "success": true,
    "task": null
  }
}
4

1 に答える 1

1

API ヘルパーを使用したソリューションが最適です。また、プッシュ操作だけでなく、jenkins API 呼び出しにも認証トークンを使用することをお勧めします。このようにして、資格情報をより細かく制御でき、認証トークンを簡単に取り消すことができます。これらは、Google のアプリケーション固有のパスワードと同様に機能します。

于 2015-08-28T10:19:21.583 に答える