jenkins集成

2019-02-13  本文已影响0人  凯天

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。

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

下面进入步骤详解:

在 Post Steps 里面添加一个 Execute shell

Command 内容如下:

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

如图:

配置变量

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

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

propsfile 

如上图。

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

如下:

<ul>
    <li>下载地址:<a href="${JOB_URL}/ws/${WarDownloadLink}">${JOB_URL}/ws/${WarDownloadLink}</a>
            </li>
    <li>构建编号 : BUILD(${BUILD_NUMBER})</li>
    <li >最后提交 : ${GitLog} </li>
</ul>
 
 # GitLog 的名称和上面Execute shell 中命名的变量一样

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

如图:

最后效果
上一篇下一篇

猜你喜欢

热点阅读