Jenkins 编译后使用SSH发布详解

前言

想要实现自动发布编译好的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!

以上是 Jenkins 编译后使用SSH发布详解 的全部内容, 来源链接: utcz.com/z/332646.html

回到顶部