我正在尝试部署jenkins war文件。我执行了以下命令
java -jar jenkins.war
以下是日志文件。
PS C:\ Sites> java -jar jenkins.war从:C:\ Sites \ jenkins.war运行 webroot:$ user.home / .jenkins 2014年9月3日下午6:09:15 winstone.Logger logInternal INFO:从战争文件开始提取2014年9月3日 下午6:09:28 org.eclipse.jetty.util.log.JavaUtilLog info INFO: jetty-8.y.z-SNAPSHOT 2014年9月3日下午6:09:35 org.eclipse.jetty.util.log.JavaUtilLog info INFO:没有JSP支持, 没找到org.apache.jasper.servlet.JspServlet Jenkins回家 目录:C:\ Users \ Mathew.jenkins发现于:$ user.home / .jenkins 2014年9月3日下午6:09:46 org.eclipse.jetty.util.log.JavaUtilLog info 信息:已启动SelectChannelConnector@0.0.0.0:8080 Sep 03,2014 6:09:46 PM winstone.Logger logInternal INFO:Winstone Servlet Engine v2.0 运行:controlPort =禁用2014年9月3日下午6:09:46 jenkins.InitReactorRunner $ 1 onAttained INFO:开始初始化 2014年9月3日下午6:10:26 jenkins.InitReactorRunner $ 1 onAttained INFO: 列出所有插件2014年9月3日下午6:10:26 jenkins.InitReactorRunner $ 1 onAttained INFO:准备好所有插件2014年9月3日下午6:10:26 jenkins.InitReactorRunner $ 1 onAttained INFO:开始所有插件9月 03,2014 6:10:26 PM jenkins.InitReactorRunner $ 1 onAttained INFO: 增强所有扩展2014年9月3日下午6:10:26 jenkins.InitReactorRunner $ 1 onAttained INFO:已加载所有工作9月03日, 2014 6:10:42 PM org.jenkinsci.main.modules.sshd.SSHD启动信息: 在港口55062开始使用SSHD 2014年9月3日下午6:10:45 jenkins.InitReactorRunner $ 1 onAttained INFO:完成初始化 2014年9月3日下午6:10:45 hudson.WebAppMain $ 3运行信息:Jenkins完全正常运行 启动并运行2014年9月3日下午6:11:48 hudson.model.DownloadService $可下载负载信息:获取 更新的数据文件为hudson.tasks.Maven.MavenInstaller 2014年9月3日 下午6:11:51 hudson.model.DownloadService $可下载负载信息: 获取了hudson.tasks.Ant.AntInstaller的更新数据文件 03,2014 6:11:52 PM hudson.model.DownloadService $可下载的负载 信息:获取hudson.tools.JDKInstaller的更新数据文件 03,2014 6:12:11 PM hudson.model.UpdateSite updateData INFO:获得 UpdateSource默认的最新更新中心数据文件
java-jar jenkins.war
命令的作用吗?答案 0 :(得分:2)
Q值。任何人都可以告诉我java -jar jenkins.war命令的作用是什么?
java -jar
需要一个jar文件名,在本例中为jenkins.war。
可执行Java程序可以与程序使用的任何库一起打包在JAR文件中。可执行JAR文件具有使用Main-Class指定入口点类的清单:myPrograms.MyClass和显式Class-Path(并忽略-cp参数)。某些操作系统可以在单击时直接运行它们。典型的调用是命令行中的“java -jar foo.jar”
参考:http://en.wikipedia.org/wiki/JAR_(file_format)
Q值。它在哪里部署我的war文件?
如果是RHEL / CentOS安装,您的战争将部署在/var/lib/jenkins
您可以通过阅读文件/etc/init.d/jenkins找到该位置。您将找到名为JENKINS_CONFIG
JENKINS_CONFIG=/etc/sysconfig/jenkins
Q值。它使用哪个Web服务器以及localhost:8080如何指向jenkins应用程序?
如果是RHEL / CentOS安装,您通常会在此处找到该文件:/etc/sysconfig/jenkins
。在此文件中,您可以定义Jenkins运行的端口。
答案 1 :(得分:2)
1)它执行java arvhive jenkins.war(参见http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jar.html)
2)从您自己发布的输出中:
Running from: C:\Sites\jenkins.war webroot: $user.home/.jenkins
user.home
变量可以指Linux上的~
目录,也可以指Windows上的文档和设置。见http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
3)从您自己发布的输出中:
jetty-8.y.z-SNAPSHOT
INFO: Started SelectChannelConnector@0.0.0.0:8080
见http://www.eclipse.org/jetty/。这是一个在端口8080上注册侦听器的Web服务器。
答案 2 :(得分:1)
它在里面使用Manifest.mf,如果你打开战争,你会理解它是如何运行的
Main类使用winstone http://winstone.sourceforge.net/
我建议使用glassfish,jetty或tomcat - 以便更好地控制配置
有一个错误 https://issues.jenkins-ci.org/browse/JENKINS-18366
另见各种容器说明 https://wiki.jenkins-ci.org/display/JENKINS/Containers