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

摘要: 在Jenkins上面创建Job执行完毕以后,想把产物(war或者log或者png之类的)文件上传到远程FTP服务器备份或者储存,要怎么办呢?

1. copy命令:

copy vickytesting.png ip\pictures

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

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

2. xcopy命令:

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

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上面装这个插件:

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

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

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

等待安装:

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

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

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

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

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

4. 使用FTP插件:

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

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

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

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

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

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

5. Jenkins Server上配置FTP:

Jenkins -> Manage Jenkins -> Configure System :

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

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

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

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

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

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

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

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

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

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

    原文作者:Vicky_习惯做唯一
    原文地址: https://www.jianshu.com/p/df71adf01a35
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞