整体思路:
step 1.安装好jenkins服务,然后安装文件传输必备的插件,之后在jenkins的“Configure System”中配置服务节点。
step?2.目标服务器(文件要传输到的那个服务器)上搭建好sftp或ftp服务器。
step?3.jenkins创建项目。
所需工具:
(1)jenkins
(2)jenkins插件:Publish Over SSH
(3)freeSSHd(安装在目标服务器上,用于在目标服务器搭建sftp服务器)
下载地址:http://www.freesshd.com/?ctt=download
一、Jenkins的安装与配置(windows环境)
1.Jenkins下载地址:https://jenkins.io/
官网首页
下载界面
2.不同的下载方式
(1)Windows方式下载得到:????jenkins-2.121.1.zip
????????????解压后得到一个运行文件?jenkins.msi,双击即可执行安装,并得到如下界面:
安装完后,浏览器自动打开次界面
(2)Generic Java package (.war)方式下载得到:jenkins.war
????????1)将 jenkins.war 放在tomcat的webapp下
????????????(tomcat下载地址:http://tomcat.apache.org/)
(Tomcat9.0安装与配置---链接)
? ? ? ? 2)启动Tomcat
? ? ? ? --其实tomcat也不是必须的,我们可以使用bat文件来运行jenkins服务--
? ? ? ? 新建一个txt文件,然后粘贴下面内容至文件中
java -jar D:war包的存放路径jenkins.war -Difile.encoding=utf-8 --ajp13Port=-1 --httpPort=8080
? ? ? ? 保存后,将文件名后缀由.txt改为.bat
3)访问http://localhost:8080/jenkins,端口号默认8080
3.复制上图中红色路径,在电脑中用记事本打开可得到“管理员密码”,
? ? ? ? ?拷贝密码至输入栏,点击继续,得到如下界面:
插件安装(中文界面)
插件安装(英文界面)
这里第一个应该是默认安装jenkins community的常用插件,第二个应该是选择需要安装的插件。不熟悉的时候选第一个就是了。
插件安装中
4.?插件安装成功后如下图所示。
(如果这步有部分插件安装失败的话,就重新下载,实在安装不了就重启Jenkins服务(Windows的服务里重启),然后重新登陆后跳过这步,安装失败的插件以后再在Jenkins的插件管理中去安装)
插件安装完成后界面
可在次界面设置用户名及密码,然后点击“保存并完成”;或直接点击右下角“实用admin账号继续”
5.修改默认端口(若端口未被占用,则可不修改)
也可以安装完成后实用命令修改端口
(1)打开终端,cd 到Jenkins的安装目录(即jenkins.war所在目录),
????????如:D:Program Files (x86)Jenkins
(2)执行命令:“java -jar jenkins.war --ajp13Port=-1 --httpPort=8081”
(3)重启jenkins服务即可生效
端口修改界面
Jenkins首页
6.jenkins首页点击“系统管理(Manage Jenkins)”,然后选择“管理插件(Manage Plugins)”,接着选择“可用插件(Available)”,在搜索框中输入Publish Over SSH,搜索出来后安装该插件。
管理插件
插件搜索及安装
7.插件安装完成后,在“系统管理(Manage Jenkins)”,然后选择“系统配置(Configure System)”,在页面的“Publish over SSH”项点击Add(添加节点),接着配置Name、Hostname、Username、Remote Directory(截图对这几项有说明),接着点击 Advanced..(高级),然后勾选 Use password authentication,or use a different key,接着在 Passphrase / Password 栏输入目标服务器的登录密码,最后点击 Test Configuration测试连接,成功即可。记得保存配置。
说明:从整个步骤来说,我们还没有在目标服务器搭建sftp服务,所以这里不会连接成功。
? ? ?在第8点,我们就讲如何搭建sftp服务。
8.目标服务器安装并配置freesshd
(参考链接https://blog.csdn.net/imjcoder/article/details/79171660)
设置监听IP,一般选择本地IP
认证方式
选择放文件的文件夹
启动服务:
注意:如果你不能启动,那要在“任务管理器”里面杀掉所有freesshd进程,之后在启动就行了。
之后可以使用sftp客户端测试,如果本机能访问,别的机器不能访问,这时候应该是防火墙原因,要么关闭,要么手动开22端口。
(好了,到此,你在jenkins中测试连接就可以成功了--即第7点中的连接测试)
9.jenkins创建项目,并执行构建
注意:Source files一般配置为相对路径(也就是jenkinsworkspace中job的相对路径)
如.jenkinsworkspacefreesshd_sshhaha
.jenkins工作空间项目名称文件夹名称
保存以上配置后,执行构建(Build Now)
点击蓝色圆点可查看控制台输出,成功上传了1个文件,恭喜!我们已经可以在目标服务器的相应目录中看到上传的文件了。
注意:有时上传文件数量为0,其构建也是显示的成功,所以最好检查一下控制台的输出信息。