报错环境:

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客户端设置代理。让能访问的去访问

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐