美奇科技 发表于 2018-1-8 15:37:39

廉颇老矣,尚能饭否?!


  安装就不说了, 因为安装实在是很简单的。

Jenkins基础配置

配置jdk 和maven

  进入Global Tool Configuration, 配置JDK:

  一般不要选择自动安装, 否则下载半天还可能会失败。 而且从oracle 下载可能还需要注册,认证, 很烦。
  配置Maven:

  同样,不要选择自动安装
  在Global Tool Configuration 里, 还可以陪着ant, git , Gradle,docker 等。

设置构建属性

  构建属性还有很多,不过暂时我不太会,只懂这个。

Jenkins系统配置


  这里主要需要配置 主目录,当然, 默认C 盘也是可以的。 其他的基本暂时不需要动
  源码管理可以是 GIT, 也可以是SVN, 也可以是None。
  GIT 配置:
  git@github.com:R1310328554/game-of-life.git


  认证选择 用户名密码方式:

  用户密码当然就是 git 账号的 登录密码—— 这里一定要搞清,不是别人的git 账号的登录密码。填好后,可以在Credentials 下拉框里面看到:

  svn 的源码方式配置和 git 是差不多的。
  需要注意的是none 方式配置, 这个是之前没有想过的。其实也是完全可行的。但是有个要求就是,它的项目源码必须放置到Jenkins Home 的workspace 目录,
  我这里是:E:\ws\jenkins\workspace
  但是, none 方式有个问题是, 清除项目对应的workspace后, 整个项目的源码也就没了,所以,使用 none 方式需要小心。
  Jenkins里面的GIT ,SVN   是如何工作的? 我感觉应该是Jenkins插件的作用。 和本机本地的GIT, SVN 应该是没关系的吧。
  配置GIT,SVN 好了,才算Jenkins 入门了。 这个其实还是比较简单的,不过我当初却是绕了很多弯路。

常用插件
  (这里有很多的Trend 图, 但是需要稍注意的是, 第一次构建是不会出现Trend图的, 只有构建了,2次及以上才会出现。)

Findbugs:
  maven配置:
  <reporting>
  <plugins>
  <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <version>3.0.4</version>
  <configuration>
  <findbugsXmlOutput>true</findbugsXmlOutput>
  <!--<findbugsXmlWithMessages>true</findbugsXmlWithMessages>-->
  <xmlOutput>true</xmlOutput>
  <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
  </configuration>
  </plugin>
  ...
  增加构建后的操作:

  findbugs 结果:



  findbugs:gui 是这样的,它其实就是一个java 的applet 程序:

  参考:
  http://wchlt.blog.163.com/blog/static/2196057201372833659235/

checkstyle:
  Pom.xml中加入checkstyle 插件:
  <build>
  <plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-checkstyle-plugin</artifactId>
  <version>2.17</version>
  <configuration>
  <encoding>utf-8</encoding>
  <configLocation>${project.basedir}/huawei_checkstyle.xml</configLocation>
  <logViolationsToConsole>true</logViolationsToConsole>
  </configuration>
  </plugin>
  ...
  Jenkins中配置install checkstyle:checkstyle:




  错误详细信息:


Cobertura:
  首先要配置 cobertura 插件,启用它(启用后必须重启服务器)
  启动过程中可能有报错:
  

警告: Failed to scout hudson.plugins.cobertura.MavenCoberturaPublisher  
java.lang.InstantiationException: java.lang.NoClassDefFoundError: hudson
/maven/MavenReporter  
at net.java.sezpoz.IndexItem.element(IndexItem.java:
146)  
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:
656)  
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:
473)  
at hudson.ExtensionList.load(ExtensionList.java:
365)  
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:
303)  
at hudson.ExtensionList.getComponents(ExtensionList.java:
168)  
at jenkins.model.Jenkins$
8.onInitMilestoneAttained(Jenkins.java:1121)  
at jenkins.InitReactorRunner$
1.onAttained(InitReactorRunner.java:82)  
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:
104)  
at org.jvnet.hudson.reactor.Reactor$
1.run(Reactor.java:176)  
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:
117)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1142)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
617)  
at java.lang.Thread.run(Thread.java:
745)  

  我开始的时候,一直纠结于这个错误,看来很多相关文章,花了很长时间,心想一定要把这个错误解决,结果到后面还是没能解决。 看到了这个好像是Jenkins是一个bug, 但是看不懂解决方案。。
  这个没解决,感觉就无法继续了,书上都是这么写的, 为什么我这里就是有这个错误? Jenkins权威指南看了很多遍,还是无解。 可能还是Jenkins版本问题吧。
  到最后, 竟然发现, 这个错误不解决也是ok的, 不影响 cobertura 的使用。。。
  Mave 配置:
  <build>
  <plugins>
  <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>cobertura-maven-plugin</artifactId>
  <version>2.5</version>
  <configuration>
  <formats>
  <format>html</format>
  <format>xml</format>
  </formats>
  </configuration>
  </plugin>
  </plugins>
  </build>
  Jenkins中使用:

  构建结果:



  参考:
  http://www.cnblogs.com/magmell/p/7069154.html
  http://blog.csdn.net/zzq900503/article/details/49617939
页: [1]
查看完整版本: 廉颇老矣,尚能饭否?!