2014-08-27 47 views
4

我目前被困試圖讓詹金斯在詹金斯加載私人倉庫的子模塊項目

這裏是我從詹金斯控制檯的輸出..很明顯,插件試圖使用直接的項目名稱..這是不是設置使用密鑰。

Started by user '__' 
Building in workspace /var/lib/jenkins/workspace/JENKINSPROJECTNAME 
> git rev-parse --is-inside-work-tree # timeout=10 
Fetching changes from the remote Git repository 
> git config remote.PROJECTREPO.url github-deploy-project:Owner/ProjectName # timeout=10 
Fetching upstream changes from github-deploy-project:Owner/ProjectName 
> git --version # timeout=10 
using GIT_SSH to set credentials 
> git fetch --tags --progress github-deploy-project:Owner/ProjectName +refs/heads/*:refs/remotes/ProjectName/* 
> git rev-parse refs/remotes/ProjectName/master^{commit} # timeout=10 
> git rev-parse refs/remotes/ProjectName/ProjectName/master^{commit} # timeout=10 
Checking out Revision ______________ (refs/remotes/ProjectName/master) 
> git config core.sparsecheckout # timeout=10 
> git checkout -f _____________ 
> git rev-list ________________ # timeout=10 
> git remote # timeout=10 
> git submodule init # timeout=10 
> git submodule synC# timeout=10 
> git config --get remote.ProjectName.url # timeout=10 
> git submodule update --init --recursive 
FATAL: Command "git submodule update --init --recursive" returned status code 1: 
stdout: 
stderr: Cloning into 'submodule/FolderName'... 
remote: Invalid username or password. 
fatal: Authentication failed for 'https://github.com/Owner/SubModuleProject.git/' 
Clone of 'https://github.com/Owner/SubModuleProject.git' into submodule path 'submodule/FolderName' failed 

hudson.plugins.git.GitException: Command "git submodule update --init --recursive" returned status code 1: 
stdout: 
stderr: Cloning into 'submodule/FolderName'... 
remote: Invalid username or password. 
fatal: Authentication failed for 'https://github.com/Owner/SubModuleProject.git/' 
Clone of 'https://github.com/Owner/SubModuleProject.git' into submodule path 'submodule/FolderName' failed 

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1407) 
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:87) 
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$6.execute(CliGitAPIImpl.java:742) 
    at hudson.plugins.git.extensions.impl.SubmoduleOption.onCheckoutCompleted(SubmoduleOption.java:77) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:920) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1252) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:615) 
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:524) 
    at hudson.model.Run.execute(Run.java:1706) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:232) 

回答

1

Git遞歸地獲取在主項目底部的.gitmodules中定義的回購。

你有一對夫婦的攻擊方法是:

  • 變化.gitmodules指與所需 訪問控制回購的副本。
  • 叉github回購,並更改所需的訪問 控件。
  • 刪除.submodule中的條目,並將其複製到 主要的存儲庫中。
  • 如果你控制有問題的GitHub庫,配置 〜詹金斯/的.ssh/config中IdentityFile