介绍
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具
准备
安装
jenkins部署有两种方法
1.执行命令,访问http://localhost:8081,然后输入信息即可。
2.把下载的文件放入tomcat的webapps下,访问地址http://localhost:8081/jenkins
具体
安装
这里采用第一种方式
1.下载jenkins
2.java -jar C:\Users\time\Downloads\jenkins.war –httpPort=8081
或 java -jar C:\Users\time\Downloads\jenkins.war
3.访问地址http://localhost:8081(如果采用第二种请访问第二个地址)
4.显示页面,并让你输入密码,密码在页面提示路径文件里这里url为:C:\Users***.jenkins\secrets\initialAdminPassword,
在initialAdminPassword文件中招待密码,粘贴复制到浏览器页面,回车
5.输入后会等待启动,然后选择插件形式,这里博主选择左边选项-安装推荐的插件,第一次使用还是选择默认的
6.选择后进入插件安装页面,如图,等待完成
7.创建管理员账号,这里可以创建也可以不创建,创建则输入账号,密码。不创建则通过admin登录
8.填写或修改实例配置url,默认
6.完成安装
7.进入即可看到如下界面
关闭
关闭jenkins服务
只需要在访问jenkins服务器的网址url地址后加上exit,例如:http://localhost:8081/exit
回车后,点击Retry using POST/使用POST重试,即会关闭
重启
重启jenkins服务(与关闭相似)
只需要在访问jenkins服务器的网址url地址后加上restart,例如:http://localhost:8081/restart
在新出现的界面上点击yes/是,即可
重载
重新加载jenkins服务配置信息(与关闭相似)
只需要在访问jenkins服务器的网址url地址后加上reload,例如:http://localhost:8081/reload
碰到的问题以及解决方法
1.安装后,自动启动失败
信息: Shutting down a Jenkins instance that was still starting up
java.lang.Throwable: reason
at hudson.WebAppMain.contextDestroyed(WebAppMain.java:388)
at org.eclipse.jetty.server.handler.ContextHandler.callContextDestroyed(ContextHandler.java:961)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextDestroyed(ServletContextHandler.java:571)
at org.eclipse.jetty.server.handler.ContextHandler.stopContext(ContextHandler.java:938)
at org.eclipse.jetty.servlet.ServletContextHandler.stopContext(ServletContextHandler.java:381)
at org.eclipse.jetty.webapp.WebAppContext.stopWebapp(WebAppContext.java:1503)
at org.eclipse.jetty.webapp.WebAppContext.stopContext(WebAppContext.java:1467)
at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:990)
at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:297)
at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:569)
at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:149)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:170)
at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:124)
at org.eclipse.jetty.server.Server.doStop(Server.java:490)
at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
at winstone.Launcher.shutdown(Launcher.java:310)
at winstone.Launcher.<init>(Launcher.java:197)
at winstone.Launcher.main(Launcher.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at Main._main(Main.java:344)
at Main.main(Main.java:160)
九月 04, 2018 7:50:11 下午 org.eclipse.jetty.server.handler.ContextHandler doStop
信息: Stopped w.@3e0e1046{Jenkins v2.141,/,null,UNAVAILABLE}{C:\Users\T440\.jenkins\war}
Exception in thread "Jenkins initialization thread" java.lang.NoClassDefFoundError: hudson/util/HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.java:247)
Caused by: java.lang.ClassNotFoundException: hudson.util.HudsonFailedToLoad
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
九月 04, 2018 7:50:11 下午 winstone.Logger logInternal
信息: Jetty shutdown successfully
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(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at Main._main(Main.java:344)
at Main.main(Main.java:160)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:331)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:299)
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:398)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at winstone.Launcher.<init>(Launcher.java:184)
... 7 more
[31m九月 04, 2018 7:50:11 下午 winstone.Logger logInternal
严重: 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(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at Main._main(Main.java:344)
at Main.main(Main.java:160)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:331)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:299)
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:398)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at winstone.Launcher.<init>(Launcher.java:184)
... 7 more
怀疑是端口问题,百度了下,确实是端口冲突,之前启动了一个项目,占用了8080端口,jenkins默认8080端口,这个时候可以 在启动war包时候增加端口,命令为
java -jar jenkinsWAR包路径 --httpPort=$HTTP_PORT
exp
java -jar D:\jenkins.war --httpPort=8081
然后等在启动访问
http://localhost:8081/
就会看到jenkins界面了
2.在安装中创建管理员账号时需要填写邮箱,不填写无法保存,也不报错
参考资料
https://blog.csdn.net/bingoxubin/article/details/78720976