美文网首页iOS开发
mac下Jenkins + Git 自动化打包并生成二维码

mac下Jenkins + Git 自动化打包并生成二维码

作者: 追风车的面瘫 | 来源:发表于2019-03-26 15:36 被阅读0次
    result.png

    以上就是本篇文章要记录的jerkins自动打包并生成二维码的效果截图!

    1.安装jenkins(命令行)

    brew install Jenkins
    如果提示jenkins: Java 1.8 is required to install this formula.
    则还需要配置Java环境
    brew tap caskroom/versions
    brew cask install java8(brew cask install java则表示最新版本)
    安装成功后输入命令行
    jenkins (启动)

    2.在浏览器输入localhost:8080

    3.安装插件

    Git
    Gradle
    这些肯定是必须的,还有一些辅助的可以安装

    Jenkins插件.png

    上图是我安装过程中用到的,如果缺少什么会有提示,按照提示安装就好,一种是在插件管理里面直接安装,还有一种方式是Jenkins插件下载地址下完了本地上传,看网络情况。

    因为其他设置或配置都依赖插件才能显示,所以插件安装放在首位。

    4.系统设置

    Jenkins首页系统管理下有个系统设置,主要需要设置一下环境变量,以及Jenkins URL,如下


    系统设置.png

    5.全局安全设置

    全局安全设置.png

    我只改了这一处,主要是为了生成二维码能够显示出来,会用到

    6.全局工具配置

    主要需要设置git和gradle


    全局工具_git_set.jpg

    git目录选择自己电脑下git的目录

    全局工具设置_gradle.png

    gradle选好自己的版本就好

    7.项目构建配置

    配置完成全局的相关设定后,接下来就是针对项目的了
    首先是新建一个job或者new 任务,Jenkins首页左上角第一个菜单项就是,根据需要选择不同的风格,我选的是构建一个自由风格的软件项目
    ,然后就进入的项目配置的页面了。

    git配置如下
    git.png
    gradle配置如下
    gradle.png
    add build step 执行shell
    shell.png

    截图为mac上的方法,Windows可以选执行Windows批处理命令
    用python在本地生成二维码,qrcode.py代码如下

    import os, sys, ssl
    import urllib
    workspace = sys.argv[1] #jobs/project/workspace/
    buildDir = sys.argv[2] # app/build/outputs/apk/
    urlPrefix = sys.argv[3] # http://192.168.1.1:8080/job/project/35/
    
    fileNames = []
    
    absoluteBuildPath = workspace + buildDir
    print absoluteBuildPath
    
    for fileName in os.listdir(absoluteBuildPath):
      tmpPath = os.path.join(absoluteBuildPath, fileName)
      if os.path.isfile(tmpPath) and fileName.endswith(".apk"):
            fileNames.append(fileName)
    
    for index, fileName in enumerate(fileNames):
        downloadUrl = urlPrefix + 'artifact/' + buildDir + fileName
    
    apiUrl = "https://api.qrserver.com/v1/create-qr-code/?  size=150x150&data=" + downloadUrl
    
    print apiUrl
    
    savePath = workspace + 'qrcode/qrcode' + str(index) + '.png'
    
    if not os.path.exists(os.path.dirname(savePath)):
        os.makedirs(os.path.dirname(savePath))
    
    urllib.urlretrieve(apiUrl, savePath)
    

    以上仅供参考,可以自行定义

    Post-build Actions(展示apk链接和二维码)
    post_build.png

    以上配置完成后,保存,然后点立即构建就可以得到文章开始展示的二维码了。

    中间确实碰到了很多坑,所以从最开始的截图可以看到,我是在第33次构建后才成功的,所以也是记录下,方便以后自己能快速集成!当然还有一些功能未完待续,比如参数化构建,设置名字之类的,后续补充。

    相关文章

      网友评论

        本文标题:mac下Jenkins + Git 自动化打包并生成二维码

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