web-dev-qa-db-ja.com

gitlab APIでgitlab-ciトークンを取得する

APIからは、httpリポジトリのクローン作成に使用できるトークンを取得する方法が不明です。

ここのドキュメントから:

http://doc.gitlab.com/ee/ci/api/README.html

このURLを取得できるはずです:

http://gitlab.com/ci/api/v1/projects?private_token=QVy1PB7sTxfy4pqfZM1U&url=http://demo.gitlab.com/

urlパラメータがどこから取得されるのかわかりませんが、プライベートトークンだけでも404エラーページを受け取ります。

ciサブドメインを試しましたが、gitlab.comにリダイレクトされます。

とはいえ、それが必要な理由についてもう少し説明します。複数のプロジェクトを持つ可能性のあるサーバーがあります。各プロジェクトには、プライベート/パブリックのリポジトリのリストが含まれ、各プロジェクトは定期的に複製/プルされる必要があります。 githubとは異なり、gitlabはサイト全体のoauth2トークンを提供せず、代わりに各プロジェクトにCIトークンを提供します。ユーザーがプロジェクトごとにトークンを入力することを確認できますが、プライベートトークンを入力するよりもはるかに複雑です。

一方、ユーザーごとにSSHキーを生成し、公開キーをアカウントに追加することで、httpの代わりにsshを使用してフェッチ/クローンを作成することができます。しかし、それは単にトークンを取得して基本的な認証URLで複製するよりも、私の側では少し多くの作業です

git clone https://gitlab-ci-token:[email protected]/project.git
9

トークンを取得するためのURLは、次のパス/ profile/accountの下にあります。

または、単にプロファイル設定-> アカウントに移動できます

また、APIの正しいバージョンを使用していることを確認してください。この応答の時点で現在v3/api/v3/projects?private_token = {my_private_token}にあります

3
lac_dev

新しい Gitlab CI Build Permissions Model によると、HTTPSはすべてのソースを複製するための要件になりました。そのため、SSHオプションは除外されます。

プライベートリポジトリのクローンを作成するには、次のようにします。

git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/<group_name>/<repo>.git

また、[〜#〜]しない[〜#〜]は、CI_JOB_TOKENの値を指定する必要があります。自動的に取得されます。したがって、<group_name><repo>を入力するだけです。

また、gitlab.comgitlab.xyz.cloud(プライベートなgitlabエンタープライズ)に置き換えることができますが、これは引き続き機能します。

CI_JOB_TOKENの値が実際に必要になることはありません。

1
rahuljain1311

gitlab-ci-token**strong text**

gitlab-ci-tokenは[左側パネルに移動->設定-> ci/cd-> runners]にあります

1
ag.pronto

私はあなたが望むトークンのタイプをチェックすると言うでしょう。

  1. プライベートトークン? [プロファイル設定]-> [アカウント]に移動します。

  2. 新しいCI/CDパイプラインをトリガーする場合、トークンを生成できます。これは、プロジェクト設定-> CI/CDパイプライン->トークンを作成することで実行できます。

また、Gitに対する適切な権限を持っていることも重要です。

1
Padma Channal

Gitlab.comから次の手順でトークンを見つけることができます

  1. 開始画面から作業中のプロジェクトをクリックします
  2. 左側のナビゲーションで[設定]をクリックします
  3. 一番下までスクロールして、設定にネストされている「CI/CD」をクリックします
  4. [ランナー]セクションの下にある[展開]をクリックします
  5. トークンはここに隠されています。

これを見つけるのに10分かかりました...どこにも文書化されていません。

1
TOBlender