将Jenkins job上构建产物上传到远程FTP服务器

1. copy命令:

copy vickytesting.png ip\pictures

这个不行,只能在本地电脑上不同地方复制。即使你写的target目录里面是远程IP地址,也会给你生成一个IP对应名称的文件夹,气死人:

2. xcopy命令:

net use //ip/ipc$ " " /user:" " 建立IPC空链接 
net use //ip/ipc$ "密码" /user:"用户名" 建立IPC非空链接 
net use h: //ip/c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: 
net use h: //ip/c$ 登陆后映射对方C:到本地为H: 
net use //ip/ipc$ /del 删除IPC链接 

这也是没用的。。。

3. Publish Over FTP Plugin插件:

完美解决,不过需要先在Jenkins上面装这个插件:

在可用面板搜索搜索并选中"Publish Over FTP"插件,然后点击“安装并不重启”:

等待安装:

安装成功后点击回到首页:

当然了,此时你可以在插件管理-》已经安装列表看到这个FTP插件:

4. 使用FTP插件:

进入一个Job的配置界面,并且在构建后操作 那一项选择增加构建步骤-》通过FTP传送文件:

这里FTP Server的名字是个下拉框:

点击问号之后有提示信息,让我们先去Jenkins上面配置FTP信息,然后在这里直接选择就可以了:

(因为我的这个Job部署在Jenkins server的其中一台node,而且我也有Jenkins Server的管理权限,所以后续配置步骤都可以自己完成,如果你们没有管理员权限,就只能给管理员提需求,让别人做后面的配置设置了。)

5. Jenkins Server上配置FTP:

Jenkins -> Manage Jenkins -> Configure System :

找到“Publish over FTP”, 然后配置基本信息:

配置Name,Hostname(IP),Username和Password之后点击测试:

我这里即使输入用户名和密码,也还是会报错。

最后发现是因为跨域问题(防火墙问题):就是这个Jenkins Job运行机器跟FTP服务器不在同一个域。。。

如果你们的可以连接成功,那就直接使用就可以了。

最后会在控制台输出类似这样的信息说明上传文件成功:

猜你喜欢

转载自my.oschina.net/u/942203/blog/1797449
今日推荐