使用 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日 18:09:15 Winstone.记录 log内部信息: 开始从战争文件中提取 九月 03, 2014 下午6:09:28 org.eclipse.jetty.util.log.JavaUtilLog info INFO: jetty-8.y.z-SNAPSHOT 2014-9-03 下午06:09:35 org.eclipse.jetty.util.log.JavaUtilLog info INFO: NO JSP 支持 , 没有找到org.apache.jasper.servlet.JspServlet Jenkins home 目录: C:\Users\Mathew.jenkins 在: $user.home/.jenkins 2014-9-03下午06:09:46 org.eclipse.jetty.util.log.JavaUtilLog info 信息: 开始于 SelectChannelConnector@0.0.0.0:8080 九月 03, 2014 6:09:46 温斯通总理。记录器日志内部信息: Winstone Servlet Engine v2.0 正在运行: 控制端口 = 禁用 2014-9-03 下午06:09:46 詹金斯。InitReactorRunner$1 onAttained INFO: 已开始初始化 九月 03, 2014 6:10:26 下午 詹金斯.InitReactorRunner$1 onAttained INFO: 列出所有插件 九月 03, 2014 6:10:26 下午 詹金斯.InitReactorRunner$1 获得的信息:准备了所有插件 2014-9-03下午06:10:26 詹金斯。InitReactorRunner$1 在获得的信息:9 月启动了所有插件 2014-03 下午6:10:26 詹金斯.InitReactorRunner$1 onAttained INFO: 增强了所有扩展 2014-9-03下午06:10:26 詹金斯。InitReactorRunner$1 在获得的信息: 加载所有作业 九月 03, 2014 6:10:42 PM org.jenkinsci.main.modules.sshd.SSHD start INFO: 在端口 55062 启动固态混合硬盘 2014-9-03 下午06:10:45 詹金斯。InitReactorRunner$1 onAttained INFO: 已完成初始化 2014-9-03下午06:10:45 哈德逊。WebAppMain$3 run INFO: Jenkins 是完全的 启动并运行 2014-9-03下午06:11:48 hudson.model.DownloadService$可下载加载信息:已获得 更新了 hudson.tasks.Maven.MavenInstaller 的数据文件 2014 年 9 月 3 日 下午 6:11:51 hudson.model.downloadService$可下载加载信息: 已获取 hudson.tasks.Ant.AntInstaller 9 月的更新数据文件 2014-03下午06:11:52 hudson.model.downloadService$可下载加载 信息:获取了hudson.tools.JDKInstaller Sep的更新数据文件 03, 2014 6:12:11 下午 hudson.model.update网站更新数据信息: 已获得 更新源默认值的最新更新中心数据文件

  1. 谁能告诉我命令java-jar jenkins.war做什么?
  2. 它部署了我的战争文件吗?
  3. 它使用哪个Web服务器,localhost:8080如何指向jenkins应用程序?

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(

问。它在哪里部署了我的战争文件?

如果是 RHEL/CentOS 安装,您的战争将部署在 /var/lib/jenkins

您可以通过阅读文件/etc/init.d/jenkins 找到位置。您将找到一个名为 JENKINS_CONFIG 的变量

JENKINS_CONFIG=/etc/sysconfig/jenkins

问。它使用哪个Web服务器,localhost:8080如何指向jenkins应用程序?

如果是 RHEL/CentOS 安装,你通常会在这里找到该文件:/etc/sysconfig/jenkins 。在此文件中,您定义了运行 Jenkins 的端口。

1(它执行java arvhive jenkins.war(见 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jar.html(

2( 从您自己发布的输出中:

Running from: C:Sitesjenkins.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 服务器。

它使用里面的Manifest.mf,如果你打开战争,你会明白它是如何运行的

主类使用温斯通 http://winstone.sourceforge.net/

我建议使用玻璃鱼,码头或雄猫 - 以便更好地控制配置

有一个错误打开https://issues.jenkins-ci.org/browse/JENKINS-18366

另请参阅各种容器说明https://wiki.jenkins-ci.org/display/JENKINS/Containers

最新更新