Setup

官网https://jenkins.io/ 下载war包,扔到tomcat下启动即可。

如果有port限制,在iptables中打开商品限制。

访问http://ip:port/jenkins,能打开Jenkins界面即为成功。

Config

选择maven项目建立 JOB

每个子项目建立一个job,相互间有先后依赖次序,定期构建,异常时才发送邮件。

插件deploy

根目录位置/root/.jenkins,构建完成的jar/war等都在workspace下面。

gradle插件安装,编译android

maven插件安装,编译打包。

Android-sdk安装,构建android项目时使用。

sonarqube插件安装--》集成sonarqube形成质量报告。

Sonar scanner插件安装  --》》》集成sonarqube形成质量报告。

Exception

异常1

ERROR: Failed to parse POMsorg.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:

[FATAL] Non-resolvable parent POM: Could not find artifact com.vca.parent:vca:pom:0.0.1-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 4, column 10

at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:364)

at hudson.maven.MavenEmbedder.buildProjects(MavenEmbedder.java:361)

at hudson.maven.MavenEmbedder.readProjects(MavenEmbedder.java:331)

at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1291)

at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1088)

at hudson.FilePath.act(FilePath.java:990)

at hudson.FilePath.act(FilePath.java:968)

at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:950)

at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:677)

at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)

at hudson.model.Run.execute(Run.java:1738)

at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529)

at hudson.model.ResourceController.execute(ResourceController.java:98)

at hudson.model.Executor.run(Executor.java:410)

Finished: FAILURE

无法解析父级的POM文件,应该是是POM文件中使用了继承。

<parent>

<groupId>com.iflytek.ossp</groupId>

<artifactId>ossp-resserver-all</artifactId>

<version>1.0.0-SNAPSHOT</version></parent>

可以尝试加入<relativePath>

<parent>
<groupId>com.iflytek.ossp</groupId>
<artifactId>ossp-resserver-all</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

异常2

[ERROR] Failed to execute goal on project vca-service: Could not resolve dependencies for project com.vca.service:vca-service:jar:0.0.1-SNAPSHOT: The following artifacts could not be resolved: com.vca.common:vca-common:jar:0.0.1-SNAPSHOT, com.vca.bean:vca-beans:jar:0.0.1-SNAPSHOT, com.vca.dal:vca-dal:jar:0.0.1-SNAPSHOT: Could not find artifact com.vca.common:vca-common:jar:0.0.1-SNAPSHOT -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException[JENKINS] Archiving /root/.jenkins/workspace/vca-service/pom.xml to com.vca.service/vca-service/0.0.1-SNAPSHOT/vca-service-0.0.1-SNAPSHOT.pom

channel stopped

Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered

Triggering a new build of vca-rest

Finished: FAILURE

原因大致与之上的导致的相似,但配置显然有问题。若是如下的项目结构:

Parent

Module1

Module2

Module3

<parent>

<groupId>com.iflytek.ossp</groupId>

<artifactId>ossp-resserver-all</artifactId>

<version>1.0.0-SNAPSHOT</version>

#--必须是存在的值,如果是../vca-parent/pom.xml,很显然是错误的

<relativePath>../pom.xml</relativePath>

</parent>

异常3

ERROR: Error during SonarQube Scanner execution

java.lang.IllegalStateException: Error when executing blame for file src/main/java/com/vca/mq/rabbitmq/ApplicationMain.java

at org.******.plugins.scm.svn.SvnBlameCommand.blame(SvnBlameCommand.java:100)

at org.******.plugins.scm.svn.SvnBlameCommand.blame(SvnBlameCommand.java:59)

at org.******.batch.scm.ScmSensor.execute(ScmSensor.java:85)

at org.******.batch.sensor.SensorWrapper.analyse(SensorWrapper.java:57)

at org.******.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58)

at org.******.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50)

at org.******.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:98)

at org.******.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192)

at org.******.core.platform.ComponentContainer.startComponents(ComponentContainer.java:100)

at org.******.core.platform.ComponentContainer.execute(ComponentContainer.java:85)

at org.******.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:258)

at org.******.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:253)

at org.******.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:243)

at org.******.core.platform.ComponentContainer.startComponents(ComponentContainer.java:100)

at org.******.core.platform.ComponentContainer.execute(ComponentContainer.java:85)

at org.******.batch.bootstrap.GlobalContainer.executeAnalysis(GlobalContainer.java:153)

at org.******.batch.bootstrapper.Batch.executeTask(Batch.java:110)

at org.******source.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.******source.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)

at com.sun.proxy.$Proxy0.execute(Unknown Source)

at org.******source.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:240)

at org.******source.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)

at org.******source.scanner.cli.Main.runAnalysis(Main.java:110)

at org.******source.scanner.cli.Main.execute(Main.java:72)

at org.******source.scanner.cli.Main.main(Main.java:60)

Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Authentication required for '<https://192.168.1.134:8443> Subversion Repositories'

at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:47)

at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:41)

at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:203)

at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:716)

at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:398)

at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:386)

at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:720)

at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:634)

at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:109)

at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1044)

at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.hasCapability(DAVRepository.java:872)

at org.tmatesoft.svn.core.io.SVNRepository.assertServerIsMergeInfoCapable(SVNRepository.java:787)

at org.tmatesoft.svn.core.io.SVNRepository.getFileRevisions(SVNRepository.java:756)

at org.tmatesoft.svn.core.internal.wc16.SVNLogClient16.doAnnotate(SVNLogClient16.java:1389)

at org.tmatesoft.svn.core.internal.wc16.SVNLogClient16.doAnnotate(SVNLogClient16.java:291)

at org.tmatesoft.svn.core.internal.wc2.old.SvnOldAnnotate.run(SvnOldAnnotate.java:45)

at org.tmatesoft.svn.core.internal.wc2.old.SvnOldAnnotate.run(SvnOldAnnotate.java:17)

at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)

at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235)

at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)

at org.tmatesoft.svn.core.wc.SVNLogClient.doAnnotate(SVNLogClient.java:295)

at org.******.plugins.scm.svn.SvnBlameCommand.blame(SvnBlameCommand.java:98)

... 28 more

ERROR:

sonar.projectKey=a:msgCenter
sonar.projectName=a-msgCenter
sonar.projectVersion=1.0
sonar.scm.disabled=true --如果此处不设置,会通过svn访问,这时候无权限。
sonar.sources=src
sonar.sourceEncoding=UTF-8
sonar.my.property=value

异常4

Subversion
Subversion Workspace Version Different versions of Subversion clients store data differently in the .svn directories. This option controls which version of Subversion client Jenkins emulates. Using an older version here allows you to manipulate workspace with your older command line Subversion clients, while using a newer version allows you to use more advanced features added to later versions of Subversion, such as svn:externals support to a file.

不同version的subversion workspace version其下对.svn隐藏的反应是不同的,详细资料请查阅网络其它资源。

手机扫一扫,欢迎关注公众号

关注程序员成长,关注软件开发

最新文章

  1. ASP.NET Core实现OAuth2.0的ResourceOwnerPassword和ClientCredentials模式
  2. IOS中用UIStoryBoard类初始化/跳转控制器
  3. 反向代理代理百度、google
  4. js简单实现删除记录时的提示效果
  5. A + B Problem II---hdu1002
  6. poj 2965
  7. UIBezierPath详解
  8. Linux C 编程内存泄露检測工具(二):memwatch
  9. 自己开发的轻量级gif动画录制工具
  10. FreeRTOS——内存管理
  11. object 覆盖 div 在IE 和Firefox 的解决方案
  12. 自学Zabbix3.10.1.5-事件通知Notifications upon events-媒介类型自定义脚本
  13. JAVA进阶--ThreadPoolExecutor机制
  14. 利用Asp.Net Core的MiddleWare思想处理复杂业务流程
  15. 洛谷 P2325 [SCOI2005]王室联邦
  16. wsdl 生成 java 代码 java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例 推荐使用, 并且设置了 utf8
  17. Effective Java 第三版——72. 赞成使用标准异常
  18. Android多线程编程&lt;二&gt;Handler异步消息处理机制之Message
  19. transition: 0.2s all ease;
  20. 吴裕雄 13-MySQL UPDATE 查询

热门文章

  1. 【wpf】在win10系统上弹出toast和notification
  2. Expression Blend学习四控件
  3. C++中构造函数能调用虚函数吗?(答案是语法可以,输出错误),但Java里居然可以
  4. Sequence Models and Long-Short Term Memory Networks
  5. linq中不能准确按拼音排序
  6. WPF 使用Trigger遇到的问题
  7. 使用Notepad++远程编辑Ubuntu上的源码
  8. 零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下)
  9. JS解析Json 数据并跳转到一个新页面,取消A 标签跳转
  10. MongoDB数据库和集合的基本操作