Jenkins入门到App打包实战
文章平均质量分 66
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
Jenkins基础入门-1-Jenkins简单介绍和环境安装
如果在做自动化测试的朋友,应该熟悉Jenkins,或者至少使用过。如果一个人没有使用过Jenkins或者hudson,hudson是Jenkins的前身,他还说自己做过自动化测试,只能说,他只不过是在做半自动化测试。为什么是半自动化呢?他只不过是把手工用例转换自动化脚本,真正的自动化测试是一个全公司的平台,有测试,开发,运维,三个团队一起研发和维护和使用的自动化测试平台,这个通常叫devops,也原创 2017-09-16 16:16:28 · 12600 阅读 · 4 评论 -
Jenkins基础入门-2-把Jenkins服务部署在Tomcat下
一看标题,是不是感觉我在第一篇文件介绍如何安装Jenkins是白写了。其实不是的,如果是个人学习用,第一篇文章的介绍安装方式就可以。插入这篇是因为,实际项目中,是把Jenkins服务部署在Tomcat服务器下。因为,这样,Jenkins才能做成一个大平台,特别是公司级别的Jenkins服务器。Tomcat可以帮你解决性能,访问过载的问题,而这些问题,统统都是运维的强项,所以,实际项目...原创 2017-09-16 16:42:04 · 12684 阅读 · 4 评论 -
Jenkins基础入门-3-改变Jenkins家目录
本篇来演示如何改变Jenkins家目录,这个设置一般很少修改,但是如何还是大企业的Jenkins服务器。作为运维人员,他需要考虑jenkins家目录如果文件太多,为了节约磁盘空间,可能需要把这个家目录移动到别的磁盘里。如何安装插件太多,Jenkins服务器运行时间长了,log文件都有很多。所以,修改Jenkins的家目录是有必要的,对于个人学习来讲,了解一下就可以。1.登录jen...原创 2017-09-16 17:57:01 · 6360 阅读 · 0 评论 -
Jenkins基础入门-4-如何使用Jenkins的CLI
本篇介绍如何使用Jenkins的CLI,CLI即Command Line Interface。在windows上的cmd也是一个CLI。为什么要用CLI呢,CLI和图形界面对比,主要有这些优点:简单,容易,节省内存,支持持续集成。一般来说,如果一个工具支持CLI,那么这个工具是可以做持续集成。千万不要理解Jenkins就是持续集成,持续集成不是一个工具,是一种方案,一种思想,一种模式。1. 启原创 2017-09-16 19:29:05 · 11997 阅读 · 4 评论 -
Jenkins基础入门-5-用户和权限管理
本篇,我们来介绍下Jenkins上如何创建用户,以及如何管理用户,和那些用户可以有ProjectA的权限。这个很好理解,一个项目,有开发和测试,和运维,每个团队都有不同的角色,例如有测试经理和测试工程师,他们两个的权限肯定是不同的。一个项目挂在Jenkins上,就需要给不同人不同权限,学习了本篇内容,你就可以搞定用户创建和管理,以及权限控制。1.新建用户登录jenkins,然后点击 系统管原创 2017-09-16 22:13:49 · 7793 阅读 · 2 评论 -
Jenkins基础入门-6-简单了解系统设置
本篇来介绍Jenkins的系统设置,只是简单介绍一下每个项的功能设置。查看了官网关于这块内容介绍,结果官网都没有文档介绍,就显示这个功能的文档在整理。国内一些关于jenkins的博客,压根就没有提到这块功能。本文简单挑选前面几个项来介绍几本的功能设置。1. 进入到系统设置管理员账号登录Jenkins,点击系统管理->点击系统设置,界面如下。第一项是家目录,前面文章已经介绍过,这里不原创 2017-09-17 20:06:54 · 6307 阅读 · 0 评论 -
Jenkins基础入门-7-创建一个Project的基本过程
本篇来介绍如何创建一个Job,这里叫job叫习惯了,最新版本jenkins叫item或者project。前面文章,我们简单提了一下,新建一个Job的过程。这里我们主要介绍这个Job的配置过程。我们先了解一个Job的创建的基本过程,以后才能去创建一个复杂的job。1. 点击新建,给item命名这里Job的名称叫Test1,类型只有一个,选择自由风格软件项目,点击Ok.2.出现了Tes原创 2017-09-17 22:22:16 · 7963 阅读 · 3 评论 -
Jenkins基础入门-8-构建触发器之远程构建
前面一篇,我们大致走完了一个Project的创建过程和简单介绍了周期性构建的例子。这篇我们继续来介绍关于构建触发器的其他构建,先来看看远程构建。1.直接上图,什么是远程构建 我们这里勾选第一项,什么是远程构建呢?上面提示你了,通过复制这个URL地址,在别的机器上打开这个URL就相当于给这个jenkins服务器发送了一个构建请求。只不过这个请求是在其他人电脑上发出的。这里重点原创 2017-09-18 20:30:29 · 11792 阅读 · 5 评论 -
Jenkins基础入门-9-构建触发器之项目之间依赖关系
前面一篇已经介绍了远程构建的方式,这篇我们来介绍项目之前的依赖关系构建。什么是依赖关系呢》项目Test1构建是需要在项目Test2构建完成之后进行,这就是依赖关系,用Jenkins上的界面来解释,就是下面这张图的红色区域选项。 为了模仿这个过程,我在前面文章基础上创建了Test2和Test3,每个项目里面的构建内容都是 windows batch commonds,都是输入di原创 2017-09-18 21:28:07 · 14399 阅读 · 4 评论 -
Jenkins基础入门-10-新建一个执行java程序的Jenkins Job
本篇来介绍如何在Jenkins上创建一个job,用来执行Java程序。这个Java程序,我们只写一个简单的程序,就一个Hello.java文件来代表我们的Java程序,通过了解整个创建过程,来模仿实际工作中一个Java项目在Jenkins上构建的过程。1. 用记事本写一个Hello.java,代码如下public class Hello{ public static void mai原创 2017-09-18 22:02:50 · 8195 阅读 · 4 评论 -
Jenkins基础入门-11-新建一个基于git源码管理的Job
上一篇,我介绍了如何创建一个简单的java项目,然后在Jenkins上,执行构建。这次我们介绍如何创建一个基于Git的Job,如果Git仓库发生源码变化,可以触发立即构建。加入你对git一点都不了解,你可以参考这篇文章 和关于如何把本地项目上传到github的文章。1. Jenkins上安装git插件 登录Jenkins,点击系统设置->插件管理,搜索框输入git pl原创 2017-09-20 21:26:09 · 7182 阅读 · 3 评论 -
Jenkins基础入门-12-自动化部署
本篇来简单谈谈自动化部署,前面文章我们都是介绍Build,也就是构建,这篇我们来介绍Deployment,也就是部署。这部分可能偏运维工程师的活。在持续集成中,一般的流程是这样的:1.Build->2.Deployment->3.Test->4.Release。Build一般是指代码的构建,例如把代码构建出一个war包或者手机app安装包,又或者是windows可执行的exe文件,这些都叫Buil原创 2017-09-21 22:08:49 · 5165 阅读 · 4 评论 -
Jenkins基础入门-13-Jenkins构建监视器-CatLight
这里介绍一个消息提醒器,叫CatLight,这个软件的图标就是有一个发金黄色光亮的猫。这里介绍它,是因为,CatLigh可以用来当做一个Jenkins上Job的构建的一个监控器使用,简单来了解,CatLight是如何和Jenkins进行配置,达到监控Build的。1.CatLight的下载和安装浏览器打开https://catlight.io,进行windows版本下载。2. 默认原创 2017-09-24 09:42:07 · 3132 阅读 · 0 评论 -
Jenkins基础入门-14-Jenkins邮件通知设置
上一篇,介绍了一个构建监控的工具,其实这个工具,在一般实际工作中用处不大,甚至还不如一个邮件提醒的实在。所以,本篇,讨论Jenkins上邮件设置,通过设置了邮件地址和邮件发送服务器,我们构建后,就可以通过邮件得到构建结果。这个功能是很有必要的,试想一个这么场景,我需要Jenkins完成一个Job的构建,这个构建过程大概持续半小时到一个小时。那么我们是不是一直监控半小时到一个小时。其实没有必要,我们原创 2017-09-24 10:12:39 · 3535 阅读 · 1 评论 -
Jenkins基础入门-15-Jenkins中的Pipeline
继续来学习Jenkins的基本知识。本篇来介绍Pipeline,首先什么是Pipeline,如何你百度一下这个单词,会告诉你是管道的意思。那么Jenkins中为什么引入管道的概念呢。其实Pileline在Jenkins中是一种工具,一个插件,用来监控Job的构建过程。1.什么是Pipeline我们已经知道对应的中文是管道的意思,例如下面这个图,就是一个管道,管道有入口和出口。原创 2017-10-12 21:30:42 · 7027 阅读 · 0 评论 -
Jenkins基础入门-16-添加Pipeline视图
前面一篇,我们介绍了什么是pipeline和如何安装pipeline插件。这篇,我们开始介绍pipeline的基本使用。第一个介绍的就是添加一个pipeline视图。说到视图(view),好像前我们也没有介绍view的概念,视图就是面板或者看板的意思。在jenkins安装后,如果有job,而且进行了构建,那么默认的视图就是一个dashboard,也是我们经常看见的晴雨表。1.默认的视图一般原创 2017-10-12 23:06:03 · 12721 阅读 · 5 评论 -
Jenkins基础入门-17-什么是Blue Ocean
本篇作为Jenkins基础入门的最后一篇,主要是来介绍什么是Blue Ocean?和Blue Ocean的基本使用。首先,什么是蓝海?我们听说蓝海战略,红海战略,基本上都是商业的词汇。其实,在Jenkins中Blue Ocean就是一个插件,而且就是一个皮肤插件。它是一个项目,用来研究下一代Jenkins的UI界面或者更好的用户体验。说白了,你就可以理解是一个换肤插件。1.在插件管理安装Blu原创 2017-10-16 22:50:10 · 14307 阅读 · 2 评论 -
Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(一)
本篇开始介绍Jenkins项目实际应用,那就是安卓打包。一般都是测试人员向安卓开发人员要测试包,安卓开发人员就在android studio上打包,然后通过聊天工具传给测试,测试拿到包后,启动app测试。我想,这个场景,在很多公司存在。我们公司,打包任务就测试自己打,开发一般不打包,我也帮app组测试人员打过一段时间的不同测试环境的安装包。最近,项目间歇期,没什么任务,领导要求我,去研究一下app原创 2017-10-17 21:54:24 · 10469 阅读 · 9 评论 -
Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(二)
前面一篇,我介绍了如何实现打包,但是有一个问题,就是无法根据实际需要打不同环境的包。很多公司至少有测试环境包和线上环境包这两种。到底如何来控制打不同环境包,每个公司基本上都是控制修改配置文件的对应网站的URL来实现。很有可能,除了一个URL不一样,其他的代码都保持一样。先来看看我们公司安卓开发是如何写这个环境控制的代码到build.gradle文件。1.下面这图是在jenkins的worksp原创 2017-10-18 21:59:22 · 5115 阅读 · 4 评论 -
Jenkins项目实战之-xcode+jenkins自动化打iOS包
前面两篇文章详细介绍了如何在Jenkins上实现了android打包,这篇继续折腾,介绍如何基于xcode插件在jenkins上打包。由于前面介绍详细,所以,本篇,不是重点地方,就不贴图显示。这次研究iOS打包的时间比android还要多一天,看了很多别人介绍的xcode的jenkins打包,跟着别人做了一半,发现不适合自己情况,或者没法继续走下去。因为你出现的报错,人家在博客里没有出现。反反复复原创 2017-10-20 22:56:10 · 5652 阅读 · 0 评论 -
Jenkins项目实战之-MacOS High Sierra自动化打包方案的填坑之旅
前面我介绍了如何在android和iOS实现公司内部app的自动化打包构建的过程。这里写一个关于这个app自动化打包平台从想法到实践再到放机房平稳运行的一个回忆录。总的来说,在jenkins上实现android打包比较顺序,一直没有什么大问题;iOS上实现自动化打包就填了很多坑,查找了很多资料,失败了很多次,看过很多构建失败的日志,回过头来,mac上实现iOS自动打包就一个填坑之旅。下面主要是一些原创 2017-11-23 15:10:53 · 3316 阅读 · 0 评论 -
Jenkins项目实战之-钉钉提醒插件二次开发举例
本篇我们来讨论下关于jenkins社区中钉钉提醒这个插件的二次开发过程。为什么需要二次开发呢,很简单,这个插件只是提供了最基本的构建后的提醒,有时候,我们需要一些额外的功能。例如,我们在打完app的包后,利用这个插件是可以发送提醒,但是点击标题,这个插件默认跳转的是jenkins上当前构建号的页面。我的实际工作中,有一个需求,用户在钉钉群,点击这个成功打包提醒,希望跳转到一个下载包的页面。点击失败原创 2017-11-25 22:43:02 · 17108 阅读 · 10 评论 -
Jenkins项目实战之-钉钉提醒插件二次开发举例2-添加消息内容
前面一篇,我已经介绍了如何在钉钉提醒这个开源插件的一次比较少的代码改动,实现了我们自定义打包后下载的url跳转功能。今天,我们来再次做一个自定义二次开发,主要的需求就是,在钉钉提醒中,加入一个打包环境的字段显示。文字描述不清楚,没有关系,我们来看看需求前后的图片对比就应该很明白。1.具体需求需求前的效果需求后的效果其中 pre-online这个地方是一个变量的值原创 2017-12-12 11:42:44 · 6273 阅读 · 3 评论