xml地图|网站地图|网站标签 [设为首页] [加入收藏]

皇家88娱乐网自动化打包,Jenkins持续化集成andr

来源:http://www.ccidsi.com 作者:最新解决方案 人气:141 发布时间:2020-03-13
摘要:假设您并不急功近利放到服务器上,只是想娱乐那么些东西。你能够先下载好那三个下文用到的包。下载汤姆cat9.0.zip下载Jenkins.war Jenkins安装 jenkins的设置教程网络数不完,在这里相当的

假设您并不急功近利放到服务器上,只是想娱乐那么些东西。你能够先下载好那三个下文用到的包。下载汤姆cat9.0.zip下载Jenkins.war

Jenkins安装

jenkins的设置教程网络数不完,在这里相当的少说。。。
设置到位的分界面如下:

皇家88娱乐网 1

Paste_Image.png

JenKins 是什么?

先看一下说起底效果图:Jenkins上和邮件中效果-

设置插件

  • 因为此次测验项目是在github上,所以须要设置git插件。
  • gradle插件。
  • android插件(假使本来就有没有必要安装)。

系统管理->管理插件->可选插件
Gradle plugin, Git Parameter Plug-In以及Anddroid Emulator Plugin

皇家88娱乐网 2

Paste_Image.png

知晓:是二个合一各样插件,通过陈设、管理的本地Web,去自动化打包Android、IOS的工具。

皇家88娱乐网 3.png皇家88娱乐网 4.png

创建职责

1, 接纳创设一个无约束风格的软件项目

皇家88娱乐网 5

Paste_Image.png

2,源码管理选拔git

皇家88娱乐网 6

Paste_Image.png

输入github项目的url地址。

3,塑造选择Invoke Gradle script

皇家88娱乐网 7

Paste_Image.png

4,创设后操作采纳archive the artifacts

皇家88娱乐网 8

Paste_Image.png

输入app/build/outputs/apks/*.apk

到此基本到位jenkins的安顿,可是还不能够营造形成功,会报如下的错误:

Cannot run program "gradle" (in directory "/Users/Shared/Jenkins/Home/workspace/android-crop"): error=2, No such file or directory

缘由是找不到gradle,需求配备gradle。

一体化流程

首要步骤可分为八个步骤

铺排体系gradle

系统管理->Gloabal Tool Configuration

  • 措施1,自动安装gradle,如下

皇家88娱乐网 9

Paste_Image.png

  • 方法2,使用本地的gradle

皇家88娱乐网 10

Paste_Image.png

  • 主意3,使用命令行

皇家88娱乐网 11

Paste_Image.png

gradle配置完毕后要到项目布局->构建里重新配置Invoke gradle script

皇家88娱乐网 12

Paste_Image.png

将default改为刚刚gradle配置的名字。举个例子,上边的build。

插件配置——————》系统安装 sdk HOME 和门路  ,全局设置JDK、GRADLE 、GIT 的本土路线 交由JenKins 管理(即Jenkins通过上步安装的插件 配置好 就足以管理地点的gradle了)新建三个职分————》动态构造自定义本地参数写入build。gradle ——————》配置git 或svn 路径(下载源码到jenkins 好接管编写翻译)——————————》配置gradle 及task (编写翻译命令和编写翻译写入构造好的参数)——》设置编写翻译的版本名称————》创设项目 ——————调控台看log  ——————》自定义的出口apk路线 找到打出的apk包

  • 情形安顿
  • 安装插件
  • 营造项目作为活动端项目为了效果与利益最大化,我们还索要动用
  • 自定义参数配置
  • 二维码生成
  • 创设设成功发送邮件,提供二维码图片

其他

  • local.properties配置

sdk.dir=/Users/aron/Desktop/sdk

  • build.gradle里的布局。貌似要加
    lintOptions {
    checkReleaseBuilds false
    abortOnError false
    }

情况变量配置:其实就是将本地计算机的安顿 在JenKins上边配置叁次,Jenkins 通过插件就足以自身去管理了。原本studio 通过gradle 编写翻译的android 项目在jenkins上管理了。

step.1 安装

预备叁个tomcat版本不要太低,6.0上述。下载最新版的Jenkins-war包。下载地址

皇家88娱乐网 13

step.2 安装所需插件

据守下边的插件列表,寻找并勾选下载安装。非得不要缺点和失误,形成后续配置远远不足参数选项和一些机能缺点和失误。供给的插件列表:1.Branch API Plugin2.build timeout plugin3.build-name-setter4.Credentials Binding Plugin5.description setter plugin6.Dynamic Parameter Plug-in7.Environment Injector Plugin

</p>9.Git plugin10.GIT server Plugin11.Gradle Plugin12.Git Parameter Plug-In</p>13.Pipeline: Basic Steps14.Pipeline: Build Step15.Pipeline: Input Step16.Pipeline: Nodes and Processes17.Pipeline: Stage Step18.Scriptler19.Workspace Cleanup Plugin20.Post-Build Script Plug-in21.Email Extension Plugin22.SSH Slaves plugin23.Timestamper借让你使用的SVN 还索要设置Subversion Plug-inSubversion Release Manager plugin

</p>插件比相当多,保险网络状态能够不然个别轻巧失利,供给重新安装。

皇家88娱乐网 14

step.3 Jenkins配置-重点
  • 3.1 景况计划:走入:系统处理→Global Tool Configuration找到 JDK、Gradle、Git 多个模块。
  • JDK :别名=随意。JAVA_HOME=即蒙受变量中JAVA_HOME中的内容
  • Gradle:别名=随意GRADLE_HOME= gradle的装置目录路线xx/gradlegradle-2.14.1

可以一向配置android studio 安装目录中的gradle

皇家88娱乐网 15gradle1.png

如若您利用android studio 直接更新过gradle,他们在 系统盘users用户名.gradlewrapperdist目录下。gradle能够计划多少个,包容区别编译版本。

  • GitName=小名Path to Git executable = git.exe文件的全路线(d:progran filesGitbingit.exe)

  • 3.2 全局属性配置

皇家88娱乐网 16sdk.png

** 必要和景况变量中的sdk路线相近**

  • 3.3 打包配置新建→营造二个随机风格的软件项目,步向到新建项目后,填写名称及表达。
    • 找到→源码管理,选拔相应的代码管理工科具,笔者那边运用的是git填写音信如图皇家88娱乐网 17git2.png使用git还亟需增添认证,即账号登入,点击Add输入git账号音讯皇家88娱乐网 18git2.png
    • 选择→营造插件,我们希图的是gradle,所以采取 Invoke Gradle script接受布置的gradle的版本,在 taks 栏输入 命令:clean assembleRelease --stacktrace --debug点击保存!
  • 3.4 无属性营造点击立刻构建,在 build history可寓目任务推行。任务前有个紫罗兰色小圆点,若是项目构建退步,职分前的小圆点为革命,创设设成功依然为森林绿。同临时间在Console Output中可查看构建日志, 日志最终现身Finished: SUCCESS,即营造设成功。若是现身Finished:Failed营造失利,日志内容很多,直接全局搜索error查看报错信息。步向→做事空间中可见到和工程目录同样的布局,找到apk包。

上述就完事了简易的陈设和营造。但还不是咱们的尾声目标。借令你你只是为着给品种组提供Jenkins工具使用,以上铺排和测量试验纵然ok了。上边是活动端本人必需调节的,Jenkins自定义参数配置,和二维码生成。

皇家88娱乐网 19

step.4 自定义属性配置

选用自定义属性,大家必要采纳到gradle文件和properties文件配置供给运用的自定义属性.properties文件

APP_VERSION = 1.0.1IS_JENKINS = falseBUILD_TYPE = debugPRODUCT_FLAVORS = xiaomiALIAS_PASSWORD = androidSTORE_PASSWORD = androidBUILD_PATH_JENKINS = E:\JenkinsApkBUILD_PATH_LOCAL = D:\AS_PROJECT\TestJenkinsBUILD_TIME= 1970-1-1APPNAME = JKApp

.gradle文件

 apply plugin: 'com.android.application' def getDate() { def date = new Date() def formattedDate = date.format('yyyyMMddHHmm') return formattedDate } def verCode = 14 android { //渠道Flavors productFlavors { xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] } wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } } compileSdkVersion 23 buildToolsVersion "25.0.0" signingConfigs { release { keyAlias 'androiddebugkey' keyPassword ALIAS_PASSWORD storeFile file('sinkkey.keystore') storePassword STORE_PASSWORD } } defaultConfig { applicationId "zsw.testjenkins" minSdkVersion 16 targetSdkVersion 23 versionCode verCode versionName "1.0" versionName APP_VERSION testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { signingConfig signingConfigs.release } }//修改生成的apk名字及输出文件夹 applicationVariants.all { variant -> variant.outputs.each { output -> //新名字 def newName //时间戳 def timeNow //输出文件夹 def outDirectory //是否为Jenkins打包,输出路径不同 if ("true".equals(IS_JENKINS)) { //BUILD_PATH为服务器输出路径 timeNow = BUILD_TIME outDirectory = BUILD_PATH_JENKINS //JKApp-v1.0.1-xiaomi-release.apk newName = APPNAME "-v" APP_VERSION   '-'   variant.productFlavors[0].name   '-'   variant.buildType.name   '.apk' } else { //本机打包输出在本机路径 timeNow = getDate() outDirectory = BUILD_PATH_LOCAL newName = APPNAME "-v" APP_VERSION   '-'   variant.productFlavors[0].name   '-'   variant.buildType.name   '.apk' } output.outputFile = new File(outDirectory "/" timeNow, newName) } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:23.0.0' testCompile 'junit:junit:4.12'}

地点大家布置了、路子包、签字文件、版本号、apk命名、apk输出文件夹,在.properties文件中须求一 一 与之相应。上面大家进去到Jenkins对上述参数实行相应配置。

找到 参数化创设进程选项→打勾

皇家88娱乐网 20params1.png选择→增多参数

  • 接收参数使用 Choice
  • 字符输入参数使用 String Parameter
  • 时刻参数使用 Dynamic Parameter在丰硕参数时,配置Name的值必需与.properties文件中定义的参数名称一致。大家供给动用的仅那三个,具体输入如下图。Choice

皇家88娱乐网 21Choice.png

Dynamic Parameter

皇家88娱乐网 22图片.png

String Parameter

皇家88娱乐网 23String.png

将急需的参数按连串加多就可以。

参数引用找到地点大家使用Gradle 插件的 Invoke Gradle script改进tasks命令,应用方面包车型大巴参数,并勾选Pass job parameters as Gradle properties选项。如下图。

皇家88娱乐网 24tasks.pngPRODUCT_FLAVORSBUILD_TYPE即大家地点配置的参数,必得保持一致。点击保存,回到项目首页。就能够看出,原先的那时候构建现已产生了Build with Parameter点击参数营造,就能够见到如下上边大家安插的参数。等待构建完毕,前往在.Gradle文件中配置的路径中就可以找到大家配备的命名apk。

其他提一点,更动名称。因为原命名只是营造编号,未有识别度。相信你从无参营造时就想退换了。

皇家88娱乐网 25图片.png

踏入项目构造找到→构建情状→勾选Set build Name 设置参数

皇家88娱乐网 26图片.png

重复打包,如上海教室我们运用了BUILD_NUMBECR-V 自带参数,以致应用软件NAME、应用程式_VERSION、BUILD_TYPE ,最后效果如下图。

皇家88娱乐网 27图片.png

那边不可不用到Python这些目生的语言。第一遍接触python,虽只用到冰山一角,但也心取得了他插件化集成的便捷性。

** step.1 策画干活**:

  • 为tomcat 配置文件下载路线步入tomcat安装目录→conf→server.xml文件,在Host节点中增加如下配置。
 <Context reloadable="true" docBase="E://JenkinsApk" crossContext="true" path="/JenkinsApk"/>
  • 下载安装Python和pip,依次配置遭逢变量。Python的设置及pip插件工具的设置,直接参照此博客就可以:python 安装步骤博客

  • 设置图片扶植插件Pillow和二维码生成库qrcodePillow 就是Python Imaging Library的衍生和变化版。Pillow由于更新版本的主题材料,使用普通插件安装命令大概会战败。在设置Pillow以前,确认保障pip能健康使用,最好是先随便找四个包安装一下。然后命令行输入 pip list 检查是或不是安装成功。

    安装Pillow命令1:pip install Pillow 命令2:pip install -I --no-cache-dir -v Pillow 至于为何失败,解释颇多也不想根究。权且都记上多试试。安装qrcode 命令:pip install myqr

    qrcode其一库只怕初略看一下相比较好,在README文件中有详实的设置使用表明。下载中途若是失利, 重新输入指令实践就可以,互联网不牢固轻松现身逾期,他从不电动重连机制。安装到位后,在Jenkins中配置Python全局变量。那样大家才干动用Python的台本命令,入下图。步向→系统管理 →系统安装 找到 Enviroment variables

皇家88娱乐网 28Paste_Image.pngstep.2 生成二维码

进去项目→创设→扩充创设步骤,接受Execute windows batch command,填写qrcode生成二维码的指令

皇家88娱乐网 29Paste_Image.png

上述命令中采用到的$参数,是通过动态拼接钦定对于的apk文件。生成多个jenkins_app.png的二维码图片,输出路线为 -d之后的门路。那时候点击保存,再重新构建一回,在配备目录下应当能找到变化的二维码图片了。

** step.3 体现二维码**找到创设后操作 → 扩充创设后操作步骤→Set build description应用html标签援用大家的二维码图片和apk文件即可,当然这里大家照旧须求动态拼接地址,来锁定指标。

皇家88娱乐网 30Paste_Image.png

完全代码-

![](http://localhost:8080/JenkinsApk/${BUILD_TIME}/jenkins_app.png) <br> <a href='http://localhost:8080/JenkinsApk/${BUILD_TIME}/${APPNAME}-v${APP_VERSION}-${PRODUCT_FLAVORS}-${BUILD_TYPE}.apk'>�点击下载-V${APP_VERSION}.apk</a>

OK!果熟蒂落,保存再度卷入。就能够得到文章在那早前大家贴图的效应了。**PS:对于二维码和apk的寄存路线,供给事情未发生前定义好。为了清晰这里运用时间参数BUILD_TIME 作为文件夹区分,二维码图片则只要求用相符名称。所以apk下载地址:xx/download/2017-02-10-15-25/apk参数拼接名称.apk二维码图片地址:xx/download/2017-02-10-15-25/jenkins_app.png**

Jenkins自带了邮件通知作用,不过不太好用。跟着老手的建议利用Email Extension Plugin来做。

step.1 配置跻身→系统管理→系统设置→邮件文告填写如下配置

皇家88娱乐网 31Paste_Image.png内容填写完结后,勾选透过发送测量试验邮件测验配置填写接收邮箱进行测验,假若成功会采用一封之类的邮件。皇家88娱乐网 32Paste_Image.png

假定败北,在下边会输出象牙黄非凡新闻,依据非常校订配置再测验直到成功。这里一贯运用了信用合作社邮箱服务器,二次就通。早前使用smtp.qq.com测量检验一向败北,SSL公约勾选,端口465。要是有同学配置好了,希望能在人世争论或然私信作者下。

**step.2 配置邮件内容 **找到 Extended E-mail Notification高级,填写配置消息。上边的测量试验通过,只必要抄上来就好了。

皇家88娱乐网 33Paste_Image.png下边是邮件内消息的拼接参数,我这里只是八个笔者爱好的模板,个人钟爱和项目组必要可随便改良参数皇家88娱乐网 34Paste_Image.png配置内容消除,上面步向项目中对邮件配置实行引用。step.3 增多邮件公告

进入→配置营造后操作充实创设后操作步骤Editable Email Notification,填写如下配置

  • 收信人我在最上部的自定义参数中安装 有 EMAIL参数,所以这里援用就能够。你也足以一直在那间填写邮件地址,贰个或然多个。

    皇家88娱乐网 35Paste_Image.png

  • 发送者和邮件内容下边发送者为,Jenkins 管理员邮箱Subject 和 Content 都是引用我们在系统安装中的配置内容。

    皇家88娱乐网 36Paste_Image.png

封存重新营培养大功告成了。若是碰着难点接待下方商议区留言,有留必回。( -

  • 自家也是多亏掉其它博主为自身答应)

此篇是在自小编安排发表完结后,回头再写的。遭逢标题还不菲。举个例子,代码中gradle 中的版本 和Jenkins上接收的Gradle版本借使分裂样有的时候会卷入退步。python 安装 PIL战败,使用qrcode库时根据博主的吩咐不或然实施等。

也是有其余艺术,使用curl 命令行上传到兔儿菜(用curl 比较久了,不过上传到兔儿菜总是回到空数据 大写窘迫),将回到音信打印到日志输出,使用正则相配到二维码图片连接,但这种艺术远不及本文本地生成二维码来的灵敏和有益,並且保障了每叁个apk都有三个独一的二维码。

相当多谢以下博客的享受:Android Jenkins Git Gradle持续集成-实在太详细利用Jenkins玩转Android自动打包发包windows下边安装Python和pip终极教程

注:上面截图上传失利 只可以语言表明了。

step.1

JDK

JDK 7.0

Gradle

Gradle 中文网 安装板或解压版 对应目录下的 gradle.xxx.zip 包

apache 的官网

下载Tomcat9.0.zip

Jenkins的官方网站下载https://jenkins.io

下载Jenkins.war

step.2

解压Tomcat9.0.zip

将Jenkins.war嵌入 其解压后的webapps的目录下

本文由68399皇家赌场发布于最新解决方案,转载请注明出处:皇家88娱乐网自动化打包,Jenkins持续化集成andr

关键词: 68399皇家赌场 日记 Android 双手 测试

上一篇:retrofit中如何正确的使用https

下一篇:没有了

最火资讯