Jenkins系列教程之编译后使用SSH发布

  • 2016-12-28
  • 242
  • 0

想要实现自动发布编译好的apk,我们可以使用官方插件库里的如下插件。

你可以使用FTP SSH等方式自动化发布,当然你也可以写脚本实现复杂的发布操作。
我以Publish Over SSH为例简单讲解下(主要是目前没部署FTP服务 TAT)

因为不知道怎么使用这个插件,所以我查看了下官方文档
https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
看得懂E文的推荐去看看,比我讲的详细的多了。
这也算是能力的锻炼吧。
不废话,具体实现的最简单步骤如下

SSH连接设置

点主页左侧菜单的系统管理 选择系统设置 在系统设置页面找到找到SSH配置段

Passphrase:表示登入密码

path to key:SSH-key文件存放路径 文件路径可以是绝对路径 也可以是相对路径(相对于jenkins的工作目录)
key:SSH-key具体的key文本 作用同上 设置其中一个即可

disable exec: 表示是否运行执行命令 因为你在发布之后可能需要通过命令操作服务器,比如上传编译好的网站文件然后重启服务器上的tomcat

name: 一般写成 用户名@主机名 比如root@blog.cooderstory.cn 当存在多个ssh配置文件的时候 我们使用name来区分

hostanme:表示需要登入的远程主机 可以和我一样写个域名或者具体的ip

username: 就是登入的用户名

remote directory: 表示远程路径 登入到服务器后想打开哪个目录

 

这段SSH的配置主要是让jenkins能通过shh连接到服务器,也就是ssh连接配置
这里的配置要看具体服务器的安全设置的,有的是通过账户密码登入,有的是直接通过ssh-key登入的,或者三者都要。
我的服务器设置徐娅提供ssh-key和账户名就可以了。

配置项目的SSH设置

然后打开项目的配置页面

我们需要在 构建后操作 添加一个步骤 send build artifacts over ssh
name:选择之前添加的ssh设置
source files: 表示你要上传的文件的路径
remove prefix: 目录修正 只能是source files中的路径 因为文件最终上传的路径是remote directory+source files 通过remove prefix削减source files中的一些目录层次
remote directory 远程目录,指定上传到远程服务器的哪个目录
exec command: 文本框表示你在文件上传完毕后想要执行的命令 不填也行 红色的警告可以无视

执行编译

保存配置重新执行编译
在控制台输出你会发现在success后多了几行信息

检查上传的文件

我们可以在服务器上找到我们刚才上传的apk文件了
注意下文件的路径的确是/var/www/html
够简单吧,Just try it!

 

感谢打赏!
微信
支付宝

评论

还没有任何评论,你来说两句吧