简体   繁体   中英

Cannot checkout in jenkins from neighbor gogs container via Java plugin hudson.plugins.git

Simple CICD using gogs/jenkins docker container running on an ubuntu host:

When I try to fetch my git repo from the gogs container I get this error:

git fetch --tags --progress http://gogs-repo:3000/repo.git   +refs/heads/*:refs/remotes/origin/* # timeout=10
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from http://gogs-repo:3000/repo.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:904)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1144)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1175)
    at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:120)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:144)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:67)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:293)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress http://gogs-repo:3000/repo.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: fatal: repository 'http://gogs-repo:3000/repo.git/' not found

However, when I log into the jenkins container it works from the command line:

jenkins@2425782a55e8:/$ cd /tmp   
jenkins@2425782a55e8:/tmp$ git clone http://gogs-repo:3000/repo.git
    Cloning into 'dfscoco'...
    remote: Enumerating objects: 7336, done.
    remote: Counting objects: 100% (7336/7336), done.
    remote: Compressing objects: 100% (4493/4493), done.
    remote: Total 7336 (delta 2236), reused 7199 (delta 2123)
    Receiving objects: 100% (7336/7336), 10.77 MiB | 0 bytes/s, done.
    Resolving deltas: 100% (2236/2236), done.

Any ideas ?? Why cant the java code resolve the URL?

So the answer is....
The proxy configuration for http used for the jenkins jvm is on the Manage plugins/Advanced Tab .

To access a server on a docker subnet it needs to be included in the field:

No Proxy Host 172.21.0.0/24

https://wiki.jenkins.io/display/JENKINS/JenkinsBehindProxy

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM