美文网首页iOS程序猿iOS学习笔记IOS
fir.im 脚本与 Jenkins 的无缝衔接

fir.im 脚本与 Jenkins 的无缝衔接

作者: CoderHG | 来源:发表于2020-02-27 13:48 被阅读0次

    初衷

    @ 想得到当前上传包对应的下载页地址,而不是一个固定的最新下载页地址。

    一般使用的是最新的下载有地址,比如:https://fir.im/xxxx。实际上在 Jenkins 中使用的时候,希望的是得到对应每次上传时的下载页地址,毕竟在 Jenkins 中,我们会打不通环境的包,如果是 Flutter 项目,可能会打 iOS 或者 apk 包,把下载地址写死那就不可以了。通过仔细发现,每个下载页的地址是这样的:https://fir.im/xxxx?release_id=release_id.然而这个 release_id 在 fir-cli 工具中有所返回。样例如下:

    Result.png

    为了方便后期的更新管理,我将代码放到了 upload_script, 可以直接去下载查看。
    为了方便后期的更新管理,我将代码放到了 upload_script, 可以直接去下载查看。
    为了方便后期的更新管理,我将代码放到了 upload_script, 可以直接去下载查看。

    你放心,如果哪一天 fir 的官网域名又换了,这个脚本也依然能用,更新一下 fir-cli 就可以了。

    中心思想

    1、通过脚本方便上船 apk 或者 ipa 文件。

    2、拼接当前上传的文件的下载地址。

    因为每次上传之后上船的下载地址是不一样的,通过观察发现需要拼接一个 release_id(详情见脚本)。这样做的目的是方便找到对应的打包下载页,预知具体原因请看下一条。

    3、完美的结合 Jenkins 的使用。

    看完了脚本代码以后,你会发现与 Jenkins 貌似没有半点关系,其实是有关系的,主要是最后一个 echo 的打印内容。看注释就知道是需要结合 Jenkins 的 descroption 功能一起使用的。

    4、在 Jenkins 中使用的效果

    Jenkins.png

    这样做了之后,是不是就很容易的找到当前打包对应的下载地址了( 注意 :显示的地址是固定地址,但是 href 的值是当前包对应的下载地址)。
    当然需要在 Jenkins 中做对应的设置:

    Descroption.png

    注意 : DescroptionStart(.*?)DescroptionEnd 是与脚本中最后一行打印一一对应的。

    温馨提示

    这几天 fir.imhttps://fir.im 访问不了,换成 https://www.jappstore.com 就可以了。一旦使用我的这个脚本之后,我们更新一下 fir-lci 就可以了。目前需要更新到:2.0.3.1 版本。
    我今天更新的时候发现使用 gem update fir-cli 没有办法更新,提示当前就是最先的,但是可以直接使用 sudo install fir-cli 就可以更新到 2.0.3.1 版本。不知何故?!!!

    怎么样,能点个赞么?谢谢!

    相关文章

      网友评论

        本文标题:fir.im 脚本与 Jenkins 的无缝衔接

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