【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理
1.下载war包
2.安装
java -jar jenkins.war
Error:
Feb 21, 2019 2:17:25 AM winstone.Logger logInternal
SEVERE: Container startup failed
java.io.IOException: Failed to start Jetty
at winstone.Launcher.<init>(Launcher.java:186)
at winstone.Launcher.main(Launcher.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at Main._main(Main.java:344)
at Main.main(Main.java:160)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:339)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:235)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:395)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at winstone.Launcher.<init>(Launcher.java:184)
... 7 more
解决:
修改Jenkins端口java -jar jenkins.war --httpPort=8081
jenkins plugin提示: Update information obtained: 不可用 ago;
出现堆栈错误;
解决:
我们将.jenkins/hudson.model.UpdateCenter.xml文件内容中的https://updates.jenkins.io/update-center.json改为http://updates.jenkins.io/update-center.json即可;即为https协议改为http协议;然后我们重启一下jenkins,插件即可正常搜索访问;
jenkins时区设置为上海时间
打开 【系统管理】->【脚本命令行】运行下面的命令
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
jenkins 关闭和重启实现方式.
1、关闭Jenkins
只需要在访问jenkins服务器的网址url地址后加上exit。例如我jenkins的地址http://localhost:8080/,那么我只需要在浏览器地址栏上敲下http://localhost:8080/exit 网址就能关闭jenkins服务.
2、重启Jenkies
http://localhost:8080/restart
3、重新加载配置信息
http://localhost:8080/reload
3.项目配置(gerrit提交patch动态触发jenkins自动编译)
①建立gerrit服务器连接

②确保手动触发的可执行性

③项目动态触发条件配置



4.构建脚本

以下是构建脚本可能需要的一些参数,仅供参考:
-----------------------------------------------------------Gerrit--triggered--parameters-------------------------------------------------------------
Trigger the build on Gerrit events.
The triggered build will be provided with the following parameters:
For all events
GERRIT_PROJECT: The name of the project.
GERRIT_EVENT_TYPE: The type of this event.
GERRIT_EVENT_HASH: A unique hash making all triggered builds unique in the queue.
GERRIT_EVENT_ACCOUNT: The name and email of the account associated with the event, if any. "Name" <name@somewhere.com>.
GERRIT_EVENT_ACCOUNT_NAME: The name of the account associated with the event, if any.
GERRIT_EVENT_ACCOUNT_EMAIL: The email of the account associated with the event, if any.
GERRIT_NAME: The name of the Gerrit instance that provided the event.
GERRIT_HOST: The hostname of the Gerrit instance that provided the event.
GERRIT_PORT: The port number of the Gerrit instance that provided the event.
GERRIT_SCHEME: The protocol name of the Gerrit instance that provided the event.
GERRIT_VERSION: The version number of the Gerrit instance that provided the event.
For events on a change (Patch set created, Draft published, Change merged, Change abandoned, Change restored, Comment added)
GERRIT_CHANGE_ID: The Change-Id.
GERRIT_CHANGE_SUBJECT: The first line of the commit message.
GERRIT_CHANGE_COMMIT_MESSAGE: The full commit message, UTF-8 Base64 encoded. (Only when Gerrit version is 2.8 or above).
GERRIT_CHANGE_NUMBER: The change number.
GERRIT_CHANGE_URL: The URL to the change.
GERRIT_PATCHSET_NUMBER: The Patch Set number.
GERRIT_PATCHSET_REVISION: The Patch Set revision id.
GERRIT_BRANCH: The name of the branch.
GERRIT_TOPIC: The name of the topic.
GERRIT_REFSPEC: The ref-spec. (refs/changes/xx/xxxx/z).
GERRIT_CHANGE_OWNER: The name and email of the owner of the change "Name" <name@somewhere.com>.
GERRIT_CHANGE_OWNER_NAME: The name of the owner of the change.
GERRIT_CHANGE_OWNER_EMAIL: The email of the owner of the change.
GERRIT_PATCHSET_UPLOADER: The name and email of the uploader of the Patch Set "Name" <name@somewhere.com>.
GERRIT_PATCHSET_UPLOADER_NAME: The name of the uploader of the Patch Set.
GERRIT_PATCHSET_UPLOADER_EMAIL: The email of the uploader of the Patch Set.
GERRIT_PATCHSET_ABANDONER: The name and email of the abandoner of the Patch Set "Name" <name@somewhere.com>.
GERRIT_PATCHSET_ABANDONER_NAME: The name of the abandoner of the Patch Set.
GERRIT_PATCHSET_ABANDONER_EMAIL: The email of the abandoner of the Patch Set.
GERRIT_PATCHSET_RESTORER: The name and email of the restorer of the Patch Set "Name" <name@somewhere.com>.
GERRIT_PATCHSET_RESTORER_NAME: The name of the restorer of the Patch Set.
GERRIT_PATCHSET_RESTORER_EMAIL: The email of the restorer of the Patch Set.
Additionally for Change merged events
GERRIT_NEWREV: The revision of the merge commit.
Additionally for Comment added events
GERRIT_EVENT_COMMENT_TEXT: The comment posted to Gerrit, UTF-8 Base64 encoded.
For Reference updated events
GERRIT_REFNAME: Ref name within project.
GERRIT_OLDREV: The old value of the ref, prior to the update.
GERRIT_NEWREV: The new value the ref was updated to.
The parameters will be available to the build as environment variables. E.g. $GERRIT_REFSPEC
【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理的更多相关文章
- 老李分享:持续集成学好jenkins之安装
老李分享:持续集成学好jenkins之安装 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...
- 持续集成工具Jenkins安装、部署、使用
本文介绍jenkins,利用其做项目发布与持续集成交付工具. 一.Jenkins是什么? Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布 ...
- 持续集成工具Jenkins学习总结
概述 持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译.发布.自动化测试)来验证,从而尽早的发现集成错误.持续集成最大的优 ...
- 持续集成工具jenkins的使用
jenkins类似于Hadson,是一款持续集成工具.使用jenkins完成自动化部署的表现为:当开发人员向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序.搭建 ...
- 轻松搭建持续集成工具jenkins
1.Jenkins介绍1)什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软 ...
- 持续集成工具——Jenkins
一.jenkins简介 1.持续集成工具 2.基于JAVA环境 二.环境搭建 1.安装JDK 2.安装配置git 3.安装配置tomcat Tomcat是针对Java的一个开源中间件服务器(容器),基 ...
- 持续集成工具-Jenkins 使用介绍
Jenkins 是一个可扩展的持续集成引擎,可以为我们提供代码自动编译.打包和发布工作,减少部署成本. 一.安装与启动 Jenkins 提供了多种便捷的安装方式,比较推荐使用执行 war 包的方式. ...
- CI工具Jenkins的安装配置【linux】——jenkins集成sonarqube-异常解决
Setup 官网https://jenkins.io/ 下载war包,扔到tomcat下启动即可. 如果有port限制,在iptables中打开商品限制. 访问http://ip:port/jenki ...
- linux-centos下持续集成工具jenkins部署使用教程
centos下准备工作: 1.安装jdk环境 2.安装maven环境(用于构建项目) 3.git客户端(用于拉取源码) 此外码云还要准备一份java源码(springboot项目) 一.安装jenki ...
随机推荐
- 断言(Assert)与异常(Exception)
## 断言和异常 断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置. 异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性. ## 断言的使用 在防御式编程中经常会用断 ...
- Qt 连接MySQL数据库(很多相关文章)
今天想试试Qt如何连接数据库的. 谁知怎么写完了提示driver not loaded我就郁闷了. 我自己是 VS2010 + Qt4.8.4 + MySQL5.1 的环境 网上查到是 C:\Qt\4 ...
- 跟上 Java 8 – 了解 lambda
原文出处: 王爵nice 从java8出现以来lambda是最重要的特性之一,它可以让我们用简洁流畅的代码完成一个功能. 很长一段时间java被吐槽是冗余和缺乏函数式编程能力的语言,随着函数式编程的流 ...
- 浅谈CAS(Compare and Swap) 原理
浅谈CAS原理java并发编程也研究了一段时间了,对CAS的原理总是不太理解,今天再研究了一下,记录一些自己的理解. 说到CAS,再java中的某些情况下,甚至jdk1.5以后的大多数情况,并发 ...
- hbase 2.0.2 增删改查
package cn.hbase.demo; import java.io.IOException; import java.util.Iterator; import org.apache.hado ...
- JNI基础
1.JNI概述 JNI 是 Java Native Interface 的缩写,中文译为“Java 本地调用”.通俗的说JNI是一种技术,通过这种技术我们可以做到以下两点: 1)Java 程序中的函 ...
- 让Duilib多线程编程更easy
一.Duilib不能开发多线程程序? 记得非常久曾经就听有人说过Duilib的多线程支持性不好,原因是Duilib里面的控件是用数组管理的全局变量,不能进行多线程訪问,加锁非常麻烦.事实上这个说法是非 ...
- Java8初体验(二)Stream语法详解---符合人的思维模式,数据源--》stream-->干什么事(具体怎么做,就交给Stream)--》聚合
Function.identity()是什么? // 将Stream转换成容器或Map Stream<String> stream = Stream.of("I", & ...
- Linux经常使用的命令(两) - cd
Linux cd 命令能够说是Linux中最主要的命令语句,其它的命令语句要进行操作,都是建立在使用 cd 命令上的.所以,学习Linux 经常使用命令.首先就要学好 cd 命令的用法技巧. 1. 命 ...
- Android 4.0新增Space及GridLayout初谈
Android 4.0的SDK已经发布,在众多的新增特性中,其中对开发者来说比较重要的特性之一,是新增的两种界面布局方式:Space和Gridlayout,它们跟以往Android版本的sdk有什么不 ...