web-dev-qa-db-ja.com

「秘密のテキスト」Git資格情報がJenkinsプロジェクトのソースコード管理セクションに表示されない

JenkinsのプロジェクトSCMセクションのドロップダウンにSecret text資格情報が表示されません。 SCMセクションのドロップダウンからSecret textクレデンシャルを作成すると壊れることはわかっていますが、Jenkins -> Credentialsに移動してクレデンシャルを作成しても、そのクレデンシャルはドロップダウンに表示されません。

すべての資格情報を作成しましたが、ドロップダウンに表示されるのはUsername with passwordのみです。 SCMのドロップダウンは、このタイプではないすべての資格情報を除外するようです。

SCMセクションでSecret text資格情報が必要な理由は、Githubアクセストークンを使用したいためです(Githubアカウントのユーザー名とパスワードではありません)。

次のスクリーンショットは、Secret text資格情報が明確に示されている私のグローバル資格情報を示しています。 Global credentials with Secret text credential present

次のスクリーンショットは、プロジェクトのSCMセクションのGitドロップダウンを示しており、Username and password資格情報のみが表示されています。 Git SCM section with no Secret text credential present

Jenkinsバージョン:2.102
Jenkins Credentialsプラグインバージョン:2.1.16
ジェンキンスGitプラグインのバージョン:3.7.0

10
Scott Storch

Github Personal Access Tokenはreplace your passwordしか想定されていないため、SCMステップにSecret Text認証情報を使用することはできません。ユーザーおよびパスワードではありません。意味ユーザーは引き続き必要です。 Githubのドキュメント here には、次のように表示されます。

パーソナルアクセストークンを作成して使用できますパスワードの代わりに

そして、以下のセクション"コマンドラインでのトークンの使用"here は、次のようになります。

トークンを取得したら、HTTPS経由でGit操作を実行するときに、トークンを入力できますパスワードの代わりに

そして、それはこの例で続きます:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

これをJenkinsに外挿しても、資格タイプの賢明な選択はUser with passwordのままです。

そのため、通常どおりにUser with passwordタイプの認証情報を作成し、Passwordフィールドに個人用アクセストークンを使用するを作成します。

User with password credential using personal access token instead

17
Mig82

Credentials Bindingsプラグインをインストールすると、ビルドジョブConfigurationページのBuild Environmentセクションに、「シークレットを使用する」という新しいオプションが含まれます。テキストまたはファイル」。このオプションを有効にすると、Variable値が環境変数の名として使用される資格情報バインディングを追加できますビルドが資格情報の値にアクセスするために使用できること。

たとえば、シークレットを作成します:(the ***** = 12345) enter image description here

ビルドで次のように使用できます: enter image description here

私の場合、echo $VARの出力は*****です。ただし、ジョブで12345として使用できます。これが秘密のテキストの使い方です。名前はそれをすべて言います。テキストは秘密のままですが、ジョブで印刷されない変数として使用できます。これはテキスト用であり、資格証明用ではありません。

ビルドで資格情報を再利用する場合は、「結合されたユーザー名とパスワード」を使用することをお勧めします。ここでは、資格情報の変数を設定できます。ユーザー名とパスワードを分割する方法の詳細については、 こちら を参照してください。

1
lvthillo