IT工具学习
文章平均质量分 66
基础工具学习,git/gradle/jenkins
Q博士
这个作者很懒,什么都没留下…
展开
-
Github开源项目常用工具
不断整理中travis.ci持续集成工具,github上一有提交就会触发,你可以将构建状态放在你的README.md中,方便查看codecov.io代码覆盖率收集工具原创 2016-07-14 15:16:07 · 4699 阅读 · 0 评论 -
Sonar初见
sonar:代码质量管理工具,来看看它是咋管理的学习文章:使用 Sonar 进行代码质量管理,谢谢前辈文章。下载地址http://www.sonarqube.org/downloads/下载后是一个zip包,解压后目录结构如下:启动Sonar由于sonar自带Jetty,所以我们可以直接启动,进入bin目录下相应的平台目录原创 2015-01-28 17:27:19 · 4510 阅读 · 0 评论 -
IOS测试之sonar检查ios代码质量
参考信息:sonar-objective-cios项目我提供了一个sample的项目,首先git clone该项目到本地。git clone https://github.com/DoctorQ/ios_test.gitCloning into 'ios_test'...remote: Counting objects: 88, done.remote: Total 88 (delta 0)原创 2015-04-15 14:33:44 · 13203 阅读 · 4 评论 -
Sonar再见
由于公司的墙太高了,我炸不开,无法畅快的用gradle,所以我还是乖乖的用sonar-runner来生成代码质量的数据吧。下载在csdn上找的资源!解压缩后,文件目录结构配置然后配置环境变量,在cmd下输入sonar-runner,出现如下信息说明配置正确C:\Users\hui.qian>sonar-runn原创 2015-01-29 19:24:06 · 3555 阅读 · 0 评论 -
Jenkins邮件的配置
邮件配置路径:系统配置-系统设置-邮件通知只需要配置1项:SMTP服务:proxy-in.baidu.com 然后测试一下邮件是否发送正确。 配置发件人这个时候收到的邮件如下:原创 2017-05-08 11:49:16 · 960 阅读 · 0 评论 -
Jenkins文件服务器搭建
需求Jenkins的各种job会产生各种各样的文件,有时我们需要在外部访问这些文件。比如测试报告,可以邮件里面会附上这些报告的链接。虽然Jenkins提供了HTML Report这种插件,但是当文件量大起来,我们还是要统一管理这些文件,这个时候我们就需要一个webserver来管理这些文件。所以我们利用http-server来搭建一个webserver。http-serverhttp-server是原创 2017-05-08 11:45:21 · 2098 阅读 · 0 评论 -
Jenkins环境的搭建
centos版本cat /etc/issuecentos需要6.3以上物理cpu个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l:2逻辑cpu个数cat /proc/cpuinfo| grep "processor"| wc -l:24单个CPU核数cat /proc/cpuinfo| grep "cpu cores"| uniq:原创 2017-05-08 11:47:10 · 1675 阅读 · 0 评论 -
Jenkins中不同slave间传递文件
场景:我们jenkins上有多个slave,有时候我们想获得其他slave的某一个job构建的成果物,在我们机器上另一个job使用。就比如在A slave中进行ios源码的编译打包成ipa文件,而在B slave中另一个job中得到该ipa包安装到手机中,如果做到?A slave job配置在该job中config中配置Post-build Actions模块,添加一个archive the ar原创 2015-04-15 15:22:51 · 11858 阅读 · 0 评论 -
Jenkins中配置多项目SCM
有的时候我们的项目依赖其他很多子项目,我们想在jenkins配置让这些子项目也加入到SCM中来,如何做到?下载插件Multiple SCMs Plugin插件,安装后重启Jenkins server.配置SCM在job配置界面找到Source Code Management模块,选择 Multiple SCMs选项: 选择Add SCM 选择你管理源码的工具,我用的是github,所以我选择g原创 2015-04-15 16:38:29 · 21212 阅读 · 0 评论 -
Jenkins的关闭、重启
我们用jar -jar jenkins.war来启动jenkins服务器,那么我们如何关闭或者重启jenkins服务器呢?经过搜索找到了相应的方法.关闭jenkins服务只需要在访问jenkins服务器的网址url地址后加上exit。例如我jenkins的地址http://localhost:8080/,那么我只需要在浏览器地址栏上敲下http://localhost:8080/exit 网址就能关原创 2015-04-04 22:06:08 · 94523 阅读 · 18 评论 -
Jenkins不同job之间依赖关系的两种配置方式
项目之间总有依赖,比如A Job执行完执行B Job,如下图所示,如何建立依赖呢? 配置上游我们通常喜欢配置上游依赖,在B中配置 配置如下信息。选择在其他项目构建完成后进行构建: Project to watch:依赖的项目名称 Trigger only if build is stable:只有在A项目构建文档后进行构建,过滤条件。这样我们执行A项目构建,紧接着B项目也会构建。配置下游原创 2015-04-15 15:39:52 · 29921 阅读 · 1 评论 -
Jenkins扩展邮件格式
参考文章 Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知配置界面默认邮件效果为了对比使用默认邮件和email-ext插件效果,我们先来看看默认邮件的发送格式只有job地址和一些执行log,且只能在构建失败和不稳定时发送邮件.email-ext默认效果然后我们现在启用email-ext插件来发送邮件,先暂时什么都不配,我们就发送一个邮件来看看默认的效果原创 2017-05-08 11:44:02 · 1648 阅读 · 0 评论 -
Jenkins不同job之间传递参数
有的时候不同job直接需要传递一个文件名或者路径,这个时候我们不需要传递文件实体,那这个路径如何传递呢?比如有如下两个项目,我想把A的工作目录传递给B,让B使用。 A job配置首先需要安装一个Parameterized Trigger Plugin插件:安装后重启。在A项目配置面板中Post-build Actions选项中选择Trigger parameterized build on原创 2015-04-15 16:16:19 · 28599 阅读 · 2 评论 -
Jenkins节点配置
参考文章 Jenkins进阶系列之——12详解Jenkins节点配置路径系统管理-管理节点-新建节点配置取名尽量带上ip或者机器名,这样以后管理的时候能一目了然的知道节点对应的机器名 上面的executors要根据机器cpu个数和核数来决定,定大了,机器会卡,定少了就浪费了,根据参考文章中介绍的来说,单cpu4核建议为5个执行器,我们测试的机器为2个cpu6核机器,所以我们来了个doubl原创 2017-05-08 11:48:38 · 3338 阅读 · 0 评论 -
Jenkins中配置gradle项目的坑
今天在jenkins配置gradle项目时遇到一个奇特的问题记录如下:问题在jenkins配置gradle项目如下所示:我的目的是想执行gradle clean build run任务,但是构建的时候出现如下的错误:[Gradle] - Launching build.[workspace] $ /Users/wuxian/.jenkins/jobs/TestReportSender_test/原创 2015-04-13 18:38:55 · 66085 阅读 · 4 评论 -
Jenkins用户权限管理
参考文章: jenkins权限管理插件Role-based Authorization Strategy设置安全策略路径:系统管理-Configure Global Security-授权策略,选择Role-Based Strategy:save后,系统管理中出现Manager and Assign Roles选项用户权限设置选项路径:系统管理-Manager and Assign Role原创 2017-05-08 11:47:58 · 5952 阅读 · 0 评论 -
gradle学习(14)-任务
1.任务的定义之前我们定义任务的时候采用的是task + 任务名的方式。例如task hello << { println "hello"}现在再介绍另外两种方式,和上面的定义是等价的。task(hello)<<{ println "hello"}task('hello')<<{ println原创 2015-01-12 01:12:45 · 3765 阅读 · 1 评论 -
Android UI自动化测试的代码覆盖率
代码覆盖率我们都知道,了解过jacoco也知道如何去弄,那么我们想要在跑UI自动化脚本的时候如何收集脚本执行过程中的代码覆盖率呢?首先我们知道jacoco可以得到测试的代码覆盖率,那么如果这些单测是UI的case,是不是就可以达到我们的要求,我们尝试一下,参考文档AS中新建android项目 在android studio上新建一个android项目,默认build.gradle如下:apply原创 2015-05-06 17:54:20 · 11488 阅读 · 8 评论 -
gradle学习(12)-groovy一些基础语法
1.setter和getter语法println project.buildDirprintln getProject().getBuildDir()project.buildDir = 'target'getProject().setBuildDir('target')task hello<<{ println 'Hello world' pr原创 2015-01-11 02:26:31 · 2930 阅读 · 0 评论 -
gradle学习(4)-构建java项目
1.认识plugin告诉gradle某个项目是特殊的项目。比如java和android2.定义java项目apply plugin: 'java'就一步就可以定义一个java项目。上面就是告诉gradle我需要你准备java项目所需的组件来满足需求。3.java项目的目录结构存放java源码的目录:src/main/java原创 2014-12-28 17:38:14 · 6299 阅读 · 2 评论 -
gradle学习(16)-操作文件
1.定位文件Project类中有一个file方法可以用来定位文件。build.gradle:File configFile = file('src/config.xml')configFile = file(configFile.absolutePath)println configFile.pathconfigFile = file(new File('src/原创 2015-01-12 21:14:49 · 13100 阅读 · 2 评论 -
gradle复习(8)-Task中行为
Behaviour之前在学习的时候说到了可以给任务添加行为behaviour,看一下下面的例子:task hello << {println 'Hello Earth'}hello.doFirst {println 'Hello Venus'}hello << {println 'Hello Jupiter'}hello.doLast {println原创 2015-01-26 10:40:45 · 2084 阅读 · 0 评论 -
gradle学习(21)-在eclipse中构建java项目
1.下载gradle for eclipse插件根据前人文章找到的链接下载的,就不多说了。下载完成后,重启eclipse。2.创建gradle项目创建新项目的时候会发现多了一个gradle选项:选择Gradle Project后会等待一段时间,等创建完成后会生一个gradle项目,看一下目录结构:这些项原创 2015-01-14 20:13:46 · 7758 阅读 · 2 评论 -
gradle学习(2)-基础语法
1. 快捷符号在字符串中可以通过$+任务名可以用来引用任务qianhuis-Mac-mini:1227 qianhui$ gradle hello:helloHello world!Greetings from the hello taskBUILD SUCCESSFULTotal time: 2.469 secs2.扩展task属性/原创 2014-12-27 23:28:59 · 5995 阅读 · 4 评论 -
gradle学习(5)-创建eclipse项目
上一篇gradle学习文章学到构建java项目,这一篇来看看怎么讲上一次的java项目变成eclipse项目1.标示eclipse项目apply plugin: 'eclipse'build.gradle如下apply plugin: 'java'apply plugin:'eclipse'repositories{ mavenCentra原创 2015-01-04 23:42:30 · 5932 阅读 · 0 评论 -
gradle学习(17)-被合并的ant
1.在gradle使用anttask hello << { String greeting = 'hello ant' ant.echo(message:greeting)}使用的是ant中的echo任务执行打印信息qianhuis-Mac-mini:0112 qianhui$ gradle hello:hello[an原创 2015-01-12 23:43:46 · 2219 阅读 · 0 评论 -
gradle学习(8)-gradle的命令行
(以下所有内容都是根据官方文档学习。如果你对gradle有兴趣,希望你能直接学习官方文档,官方文档是最权威的。而且这样才能产生2份有意义的学习资料)1.执行多个任务在命令行下,要想执行多个任务,可以在gradle关键字后面跟多个任务名,之间要用空格隔开,执行的顺序按照你的输入的顺序执行。例如我们要执行编译和测试的任务。可以在命令行下输入:D:\GRADLE~2\原创 2015-01-09 19:21:51 · 4902 阅读 · 0 评论 -
gradle学习(22)-Sonar
前言sonar相关的信息分2章,一部分是sonar,一部分是sonar runner,这篇学习的是sonar。sonar插件依靠于sonar runner插件,且sonar的版本要在2.1.1以上。sonarAnalyze任务是独立存在的,就是该任务来分析代码,该任务不依靠其他任务。该任务不依靠源码文件,而是针对class文件和build文件,所以尽量在使用前进行全build。正常原创 2015-01-29 10:45:58 · 3907 阅读 · 0 评论 -
gradle学习(11)-编写构建脚本
1.DSL领域专业语言原创 2015-01-10 12:17:07 · 3030 阅读 · 1 评论 -
Gradle run方法报错
当一个项目中存在多个main方法的时候,我们就需要指定我们的main方法报错信息解决方法在build.gradle中加入如下语句://运行时的主类mainClassName = "com.wuba.gui.HomePage"gradle就能识别出来我们要运行的main方法。原创 2015-07-30 15:38:29 · 2361 阅读 · 0 评论 -
gradle异常(1)-EOF初识
异常信息FAILURE: Build failed with an exception.* Where:Build file '/Users/qianhui/Documents/Developer/gradle_project/1228/build.gradle' line: 9* What went wrong:Could not compile build file '原创 2014-12-28 14:01:25 · 3440 阅读 · 0 评论 -
在Eclipse中使用gradle构建问题小结
gradle cleanEclipse问题描述今天无意中执行了一个gradle cleanEclipse任务,导致我的项目变成了普通的Java项目:Gradle Dependence没有了,然后右击build.gradle->Run As也没有Gradle选项了:解决方法项目右击->Config->Convert to Gradle Project合并多个依赖库问题描述Gradle项目自身自带一个G原创 2015-07-16 14:36:57 · 9723 阅读 · 1 评论 -
gradle学习(1)-helloworld
1. 创建build.gradle文件qianhuis-Mac-mini:1225 qianhui$ touch build.gradle2.打开build.gradlevi build.gradle3.add a task定义了一个任务hello,在该任务执行完后打印Hello world!4. run task原创 2014-12-25 23:22:31 · 13672 阅读 · 5 评论 -
gradle复习(6)-深入Jacoco
本博客全部为原创,转载请注明出处D.Q的专栏。如有疑惑,请到TesterHome论坛与我交流。jacoco之前在构建eclipse项目中原创 2015-01-22 17:33:51 · 8007 阅读 · 0 评论 -
gradle复习(2)-eclipse中添加依赖jar包
我所说的依赖,是指编写代码的时候,你找不到包,就是没有导入到项目的Library中。例如下面的情况:我在做TestNG学习的时候,用了TestNG的jar包,build中脚本如下:apply plugin: 'java'apply plugin: 'eclipse'sourceCompatibility = 1.7version = '1.0'jar原创 2015-01-20 15:41:44 · 15122 阅读 · 0 评论 -
gradle复习(9)-执行sonarRunner任务
sonarRunner { sonarProperties { property "sonar.host.url", "http://localhost:9002/" property "sonar.jdbc.url", "jdbc:mysql://localhost:3306/sonar" property "sonar.jdbc.driverClassName", "com.my原创 2015-02-04 10:09:12 · 4793 阅读 · 0 评论 -
gradle学习(15)-任务
1.任务覆盖所谓任务覆盖就是,就是2个任务名称相同,但是却还可以同时存在。这是为啥,因为有overwrite,类似于java中重写。task copy << { println "this is a first"}task copy(overwrite:true)<<{ println "this is a second"}执行命令D:\GRAD原创 2015-01-12 14:53:38 · 5062 阅读 · 0 评论 -
gradle学习(18)-ant的属性
1.设置ant属性build.xml: buildDir=${buildDir} 我们要给buildDir属性设值ant.importBuild ('build.xml'){ antTargetName ->'a-'+antTargetName}task intro << { println原创 2015-01-13 00:11:59 · 2511 阅读 · 0 评论 -
gradle复习(5)-Test remote debug
一句话引发的"血案"官方文档中关于test的信息有这么一句话:The test process can be started in debug mode (see getDebug()) in an ad-hoc manner by supplying the `--debug-jvm` switch when invoking the build. gradle原创 2015-01-21 14:22:18 · 2732 阅读 · 0 评论 -
gradle复习(4)-Cannot find System Java Compiler
这个问题的产生原因是你没有在gradle配置中设置JDK。1.首先在build.gradle右键点击,选择Run As中第二个选项[2.Gradle build....]进入gradle配置。2.选择Arguments选项卡,选择Execution Environment选项,点Configure EEs进入选择JDK。3.选择你原创 2015-01-21 09:59:29 · 6679 阅读 · 2 评论