报错环境: 10.1.1.10 内网 VisualSVN Server服务器 10.1.1.18 内网 Jenkins服务器 63.1.1.22 阿里云 JenkinsNode服务器,阿里云主机 10.1.1.38 内网(代理;内网出口) Nginx代理服务器 阿里主机作为Jenkins的节点,由于处在不同的网络环境,Jenkins构建时使用的Nginx Proxy,通过域名http://www.xxx.com:8090的方式访问svn,其他内网主机仍然使用内网ip去访问svn server { listen 8090; server_name www.xxx.com; location / { client_max_body_size 50m; client_body_buffer_size 256k; proxy_connect_timeout 5000; proxy_send_timeout 5000; proxy_read_timeout 5000; proxy_pass http://10.1.1.10; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ERROR: 当Jenkins构建时,内网节点一切都ok 但是阿里云的节点,总是需要两次构建才能成功,第一次是更新代码,然后挂掉,第二次才算完成一次成功的构建 思路: 1.使用本地浏览器和TortoiseSvnke客户端(url域名)访问svn ok! 2.查看Jenkins构建日志 3.在节点上使用域名访问svn(使用svn checkout) ok! 4.在内网主机上使用域名访问svn(使用svn checkout) 访问失败 5.在内网主机上使用ip地址访问svn(使用svn checkout) ok! 现在说明内网主机无法解析这个svn的域名,先排除dns的问题。然后.. 安装subversion 修改/root/.subversion/servers添加代理设置 问题解决 总结其实很简单,为Svn客户端设置代理。让能访问的去访问