jenkins集成

18年当时由于工作需要,研究了下jenkins 自动编译、出包的功能。当时的需求是,需要考虑到客户端和服务端的自动出包功能。客户端分为:Android 、iOS、H5三种;服务端就是普通的war包。

当时只做了一半后面就移交出去了,时间仓促也没来得及当时研究的成果。现在还记得当时实现了几个功能:

1、iOS 、Android、H5的自动出包。记得当时还有一个需求包括iOS、Android出包时,更新最新的H5资源包。这个比较麻烦,最后卡壳了。

2、其次就是后端war 的自动出包。

现在回顾起来客户端的打包,我完全忘记了。看来针对整个流程,我压根就没很好的掌握,当时只是配置完成了。自己买个教训吧

永远记住,能力是能够重复实现的才叫能力。

堪称完美的概念机不能量产,这不是能力。

只能展示一次的技能,不是能力。

所以,能够重复实现的才是能力。趁着现在还能记住剩下的部分,赶紧拿小本本记录下来。以下是关于jenkins 中如何自定义变量的实现方式,先写这么多。后面有新发现了再继续更新吧。

jenkins 自定义变量

比如你现在有一个需求,现在的集成环境还不是全自动,jenkins 打包完成后还需要手动发包。

这个需求就会引申出一些隐性需求,比如:

a. jenkins 打包完成后需要提醒对应人员,继续处理后面的手动出包流程。-- 邮件提醒的需求

b. 邮件提醒功能还需要细化,比如并行打包时需要区分每个包是谁提交的。-- 邮件内容体现commit内容

c. 后续发包提测还需要手动处理,所以邮件内容中还需要体现down war包的地址。方便直接打卡邮件down 对应的war。

以上的需求,都只需要一个步骤就能搞定——自定义变量。

下面进入步骤详解:

  • 1、添加对应的 execute shell

在 Post Steps 里面添加一个 Execute shell

Command 内容如下:

echo WarDownloadLink = $(find . -name *.war ) > propsfile
echo GitLog = $(git log -1 ) >> propsfile

如图:

jenkins集成_第1张图片
配置变量
  • 2、 导入自定义变量文件

在Post Steps 的后面添加一个 Inject environment variables 配置。

配置项的第一个:Properties File Path,填写上面 Execute shell中保存临时变量的文件名 :

propsfile 

如上图。

  • 3、最后是使用的方式

目前我们的使用场景是,自定义提醒邮件的content内容,编辑提醒邮件的Content。

如下:


 
 # GitLog 的名称和上面Execute shell 中命名的变量一样

上面的content 既用到了 自定义的变量(GitLog、WarDownloadLink),也用到了jenkins 自带的变量(JOB_URL、BUILD_NUMBER)。

  • 4、最后效果图

如图:

jenkins集成_第2张图片
最后效果

你可能感兴趣的:(jenkins集成)