2016-06-23 17 views
0

Git Credential Manager(GCM)は、HTTPS Git URLのファイルから資格情報を読み取るようにするにはどうすればよいですか? Jenkinsのジョブの自動クローニング操作を容易にするために、これが必要です。Windows用Git Credential Managerとファイル内の資格情報

背景

我々は成功した前Git for Windows v2.9.0にアップグレードするWindows上のGit 1.7でstore資格ストアを使用してきました。現在、CGMはJenkinsのビルドをハングアップさせる資格情報を要求します。

GCM docsにはcredential.interactive neverの設定が記載されていますが、どのファイルから資格情報を読み取ることができますか?そしてそのファイルではどんなフォーマットが期待されていますか?

答えて

0

asking on the GCM Github issues pageの後、GCMはファイルからの資格情報の読み取りをサポートしていません。

しかし、私の目標は、非対話型の資格情報を許可することです。プログラムでGCMが使用するWindows資格情報ストアに資格情報を追加することをサポートしています。 bundled librariesを使用することにより(binaries here)私は一緒に私たちはシェフによるマシンのプロビジョニング中に資格情報を追加することができPowerShellスクリプトを置くことができました:

Add-Type -Path 'c:\path\to\gcm-v1.4.0\Microsoft.Alm.Authentication.dll' 

$credentials = New-Object -TypeName Microsoft.Alm.Authentication.Credential('someuser', 'secret') 
$targetUri = New-Object -TypeName Microsoft.Alm.Authentication.TargetUri('https://git.example.com/projects') 
$namespace = "git" 
$secretStore = New-Object -TypeName Microsoft.Alm.Authentication.SecretStore($namespace, $null, $null, $null) 

$foundCredentials = $null 
$secretStore.ReadCredentials($targetUri, [ref] $foundCredentials) 
if ($foundCredentials -ne $null) { 
    echo "Credentials already found, not inserting" 
} else { 
    echo "Inserting stored credentials" 
    $secretStore.WriteCredentials($targetUri, $credentials) 
} 

これはジェンキンススレーブがユーザーの操作なしでGitのクローンを行うことができます。

注:あなたがそうでなければ、彼らがロードされない「無制限」の実行ポリシーと同様にGCMに含まunblockのDLLでPowerShellスクリプトを実行する必要があります。

関連する問題