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

摘要: 在Jenkins上面创建Job执行完毕以后,想把产物(war或者log或者png之类的)文件上传到远程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服务器不在同一个域。。。

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容