Jenkins自动化部署工具的使用(Android项目)

个人博客地址:https://blog.yookingh.cn
该文章地址:https://blog.yookingh.cn/dev/200928-Jenkins.html

硬件:联想 拯救者 Y7000p
系统:Windows 10 64位 专业版
配置:

  • Jdk 1.8.0_251
  • Jenkins 2.253

安装

官方FTP下载地址:http://ftp-chi.osuosl.org/pub/jenkins/windows/
官网:https://www.jenkins.io/

  1. 下载
jenkins-download.png
  1. 安装
    双击.msi文件执行即可(C盘可能会有权限问题,所以尽量放在非C盘)
    安装完成后根据配置的端口打开对应的网页:http://localhost:8080/
    根据提示的文件路径输入密码、安装插件、配置用户——提示十分清晰,这里不一一介绍了。

  2. 启动服务
    win+R 打开cmd窗口

    #请根据自己电脑的路径来跳转
    cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
    #安装服务
    installUtil D:\Jeenkins\jenkins.exe
    

    win+R 打开services.msc服务控制台,启动Jenkins服务

    可自行配置bat文件启动服务

    #Service-Start.bat
    net start Jenkins
    #Service-Stop.bat
    net stop Jenkins
    

    为bat创建快捷方式,对快捷方式右击-属性-高级-以管理员方式运行

配置

  1. 配置主目录(配置页路径:http://localhost:8080/configure

    我们可以点开问号看看提示:

    Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改:
    
        使用你Web容器的管理工具设置JENKINS_HOME环境参数.
        在启动Web容器之前设置JENKINS_HOME环境变量.
        (不推荐)更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件. 
    
    这个值在Jenkins运行时是不能更改的. 其通常用来确保你的配置是否生效. 
    

    这里我就很想看看英文版的了...Web容器的管理工具究竟是什么?我尝试着改了系统的环境变量,甚至重启了系统,结果显然是失败了。于是我使用了推荐方式解决(以下只展示修改的部分)

    <service>
        ...
        <!-- <env name="JENKINS_HOME" value="%LocalAppData%\Jenkins.jenkins"/>-->
        <env name="JENKINS_HOME" value="Jenkins.jenkins"/>
        ...
        <extensions>
            <extension ...>
                <!-- <pidfile>%LocalAppData%\Jenkinsjenkins.pid</pidfile> -->
                <pidfile>D:\Jeenkins\Jenkinsjenkins.pid</pidfile>
                ...
            </extension>
        </extensions>
    </service>
    
  2. 配置键值对
    以下默认会自动下载到C盘,这里全配在D盘:

    1. 是规避权限问题,

    2. 是为了防止C盘空间臃肿

    页面(/configure)-全局属性-Environment variables中进行配置

    {
        "ANDROID_HOME":"D:\AndroidSDK",
        "ANDROID_NDK_HOME":"D:\AndroidSDK\ndk\21.3.6528147",
        "GRADLE_USER_HOME":"D:\AndroidTools\gradle_home",
        "LANG":"zh.CH.UTF-8"
    }
    

    提示:AndroidSdk、Ndk、gradle均可与Android Studio配置相同路径

  3. 配置git工具(配置页路径http://localhost:8080/configureTools

    {
        "name":"git",
        "Path to Git executable":"D:\Git\bin\git.exe"
    }
    

    ps:在当前页面还可以配置好gradle备用

项目

创建项目

​ 新建Item-输入任务名-选择Frestyle Project即可-点击保存(请根据自身需求设定)

配置(仅供参考)

  1. 配置用户可输入/选择参数(This project is parameterized)

    • git分支选择(使用到git parameter插件)
    {
        "名称":"Git",//建议英文且无特殊字符 后续调用使用 '$' 符号
        "描述":"打包分支选择器",
        "参数类型":"分支或标签",
        "默认值":"origin/master"
    }
    
    • 单选(choice parameter)
    {
        "名称":"productFlavors",//选择开发阶段 建议英文且无特殊字符 后续调用使用 '$' 符号
        "选项":"dev",//备用选项,每行一个。第一行的将作为默认选项。
        "选项":"rp",
        "选项":"prod",
        "描述":"dev-测试,rp-准生产,prod-生产"
    }
    
    {
        "名称":"buildTypes",//选择打包版本 建议英文且无特殊字符 后续调用使用 '$' 符号
        "选项":"release",//备用选项,每行一个。第一行的将作为默认选项。
        "选项":"debug",
        "描述":"release-签名包,debug-测试包"
    }
    
    • 文本框(string parameter)
    {
        "名称":"apkName",//apk包名 建议英文且无特殊字符 后续调用使用 '$' 符号
        "默认值":"com_yooking_app",
        "描述":"请输入生成的安装包包名"
        //勾选去除空白字符
    }
    

    PS:如果打包完成后需要上传到服务器,可以配置可选服务器子路径、可选是否上传至服务器等,根据需求灵活应用

  2. 源码管理(这里使用git)

    • 如果没有配置git账户,可先新增Git账户,然后再选择即可。

    • 指定分支填$Git——注意:值与配置用户可输入/选择参数一致

  3. 构建环境

    勾选Set Build Name,Build Name 值为 $apkName

  4. 构建

    • 项目构建前需要先将准备好的key文件放入对应目录,这里可以使用.bat文件
      增加构建步骤-选择Execute Winddows batch command
      调用自己的bat文件:call D:\Jeenkins\yooking\invokeBefort.bat
    • 增加构建步骤-选择Invoke Gradle script-推荐Use Gradle Wrapper
      clean项目后重新编译打包:{"Task":"clean assemble${productFlavors}${buildTypes}"}
      ps:task中可跟随--info等命令
    • 项目构建完毕后,如果有其他操作要执行,可以继续使用.bat文件操作
  5. 构建后操作

    • 如果有上传FTP/发送邮件等操作,可在此处执行

最后点击保存即可。

构建项目

看看效果
效果图
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350