美文网首页
jenkins集成

jenkins集成

作者: 凯天 | 来源:发表于2019-02-13 17:11 被阅读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。

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

    下面进入步骤详解:

    • 1、添加对应的 execute shell

    在 Post Steps 里面添加一个 Execute shell

    Command 内容如下:

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

    如图:

    配置变量
    • 2、 导入自定义变量文件

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

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

    propsfile 
    

    如上图。

    • 3、最后是使用的方式

    目前我们的使用场景是,自定义提醒邮件的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)。

    • 4、最后效果图

    如图:

    最后效果

    相关文章

      网友评论

          本文标题:jenkins集成

          本文链接:https://www.haomeiwen.com/subject/owbdeqtx.html