使用java命令部署jenkins war文件

时间:2014-09-03 12:51:14

标签: java jenkins war

我正在尝试部署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默认的最新更新中心数据文件

  1. 有人能告诉我java-jar jenkins.war命令的作用吗?
  2. 它是否部署了我的war文件?
  3. 它使用哪个Web服务器以及localhost:8080如何指向jenkins应用程序?

3 个答案:

答案 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