3

私が持っているものは次のとおりです。

a.b.c.d:/x/www/app

今私がコマンドを発行した場合:

git clone abcd:/x/www/app /home/user

LDAP パスワードの入力を求められ、アプリのクローンが正常に作成されます。

しかし、ジェンキンスで同じものを使用すると、ジェンキンスはエラーを出します:

リポジトリへの接続に失敗しました: コマンド "/usr/bin/git ls-remote -h abcd:/x/www/app HEAD" がステータス コード 128 を返しました: stdout: stderr: ホスト キーの検証に失敗しました。致命的: リモート エンドが予期せず電話を切りました

Jenkins バージョン 1.500 と Git プラグイン バージョン 1.1.26 を使用しています

エラー:

Using strategy: Default
Cloning the remote Git repository
Cloning repository git:///$GIT_USER@a.b.c.d:/var/www/app
git --version
git version 1.7.9.5
ERROR: Error cloning remote repo 'origin' : Could not clone git:///$GIT_USER@a.b.c.d:/var/www/app
hudson.plugins.git.GitException: Could not clone git:///$GIT_USER@a.b.c.d:/var/www/app
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:273)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1044)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2348)
    at hudson.remoting.UserRequest.perform(UserRequest.java:118)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:326)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)
Caused by: hudson.plugins.git.GitException: Command "/usr/bin/git clone --progress -o origin git:///$GIT_USER@a.b.c.d:/var/www/app /home/user/workspace/app" returned status code 128:
stdout: Cloning into '/home/user/workspace/app'...

stderr: fatal: unable to connect to :
: Name or service not known


    at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:897)
    at hudson.plugins.git.GitAPI.access$000(GitAPI.java:42)
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:269)
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:248)
    at hudson.FilePath.act(FilePath.java:865)
    at hudson.FilePath.act(FilePath.java:838)
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:248)
    ... 12 more
Trying next repository
ERROR: Could not clone repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1056)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2348)
    at hudson.remoting.UserRequest.perform(UserRequest.java:118)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:326)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)
4

2 に答える 2

1

git:// プロトコルは認証を使用しません。

このプロトコルを使用する場合は、サーバー側のリポジトリで git-daemon を開始する必要があります。

ユーザー名/キーベースの認証による ssh が必要な場合は、代わりに ssh://$USER/path を使用してください。

于 2013-02-12T18:54:46.380 に答える
0

git+ssh://mylogin@mygithost:/var/git/race.git を使用できます

ssh を使用する場合は、jenkins ユーザーのホーム ディレクトリ : ~/.ssh/config で編集または作成して、ssh キーを保存できます。

Host mygithost
        HostName 192.168.130.43
        User mylogin
        IdentityFile ~/.ssh/.id_rsa

sshキーを使用すると、gitサーバー(〜/ .ssh/authorized_keys)に公開キーを追加して、パスワード認証を防ぐことができます...

于 2013-02-12T20:37:15.703 に答える