読者です 読者をやめる 読者になる 読者になる

/dev/null

(◞‸◟)

Rundeck2.5からJava8で動作するようになってた

高機能なジョブスケジューラのRundeck

heartbeats.jp

2.4.2まではJava7でしか動作しませんでした。Java7はEOLなのでつらいところ。

[vagrant@vagrant-centos65 rundeck2.4]$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
[vagrant@vagrant-centos65 rundeck2.4]$

[vagrant@vagrant-centos65 rundeck2.4]$ java -jar rundeck-launcher-2.4.2.jar
WARNING: HTTPS is not enabled, specify -Drundeck.ssl.config=/home/vagrant/work/rundeck2.4/server/config/ssl.properties to enable.
2015-05-03 10:29:57.836:INFO:oejs.Server:jetty-7.6.0.v20120127
2015-05-03 10:29:59.798:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2015-05-03 10:30:01.210:INFO:/:Initializing Spring root WebApplicationContext
2015-05-03 10:30:04,042 [main] ERROR context.ContextLoader  - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:733)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:233)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1214)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:455)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90)
    at org.eclipse.jetty.server.Server.doStart(Server.java:261)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at com.dtolabs.rundeck.RunServer.run(RunServer.java:112)
    at com.dtolabs.rundeck.RunServer.main(RunServer.java:72)
    at com.dtolabs.rundeck.ExpandRunServer.invokeMain(ExpandRunServer.java:690)
    at com.dtolabs.rundeck.ExpandRunServer.execute(ExpandRunServer.java:647)
    at com.dtolabs.rundeck.ExpandRunServer.run(ExpandRunServer.java:304)
    at com.dtolabs.rundeck.ExpandRunServer.main(ExpandRunServer.java:113)
Caused by: java.lang.NullPointerException: Cannot invoke method getAt() on null object
    ... 15 more
2015-05-03 10:30:04,055 [main] ERROR context.GrailsContextLoader  - Error initializing the application: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:733)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:233)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1214)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:455)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90)
    at org.eclipse.jetty.server.Server.doStart(Server.java:261)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at com.dtolabs.rundeck.RunServer.run(RunServer.java:112)
    at com.dtolabs.rundeck.RunServer.main(RunServer.java:72)
    at com.dtolabs.rundeck.ExpandRunServer.invokeMain(ExpandRunServer.java:690)
    at com.dtolabs.rundeck.ExpandRunServer.execute(ExpandRunServer.java:647)
    at com.dtolabs.rundeck.ExpandRunServer.run(ExpandRunServer.java:304)
    at com.dtolabs.rundeck.ExpandRunServer.main(ExpandRunServer.java:113)
Caused by: java.lang.NullPointerException: Cannot invoke method getAt() on null object


ですが、4/16日に出たRundeck2.5ではJava8に対応しているので問題なく起動できるようになってます。 もちろんtomcatへのdeploy時でも問題なし。

rundeck.org


[vagrant@vagrant-centos65 rundeck2.5]$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)


[vagrant@vagrant-centos65 rundeck2.5]$ java -jar rundeck-launcher-2.5.0.jar
WARNING: HTTPS is not enabled, specify -Drundeck.ssl.config=/home/vagrant/work/rundeck2.5/server/config/ssl.properties to enable.
2015-05-03 10:37:16.034:INFO:oejs.Server:jetty-7.6.0.v20120127
2015-05-03 10:37:18.214:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2015-05-03 10:37:19.544:INFO:/:Initializing Spring root WebApplicationContext
2015-05-03 10:37:54,115 INFO  BootStrap - Starting Rundeck 2.5.0-1...
2015-05-03 10:37:54,115 INFO  BootStrap - using rdeck.base config property: /home/vagrant/work/rundeck2.5
2015-05-03 10:37:54,124 INFO  BootStrap - Performing rundeck first-run initialization...
2015-05-03 10:37:54,746 INFO  BootStrap - Rundeck initialization complete.
2015-05-03 10:37:54,775 INFO  BootStrap - loaded configuration: /home/vagrant/work/rundeck2.5/etc/framework.properties
2015-05-03 10:37:54,856 ERROR BootStrap - NOT importing existing filesystem projects filesystem
2015-05-03 10:37:54,868 INFO  BootStrap - RSS feeds disabled
2015-05-03 10:37:56.349:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/vagrant/work/rundeck2.5/server/exp/webapp/},/home/vagrant/work/rundeck2.5/server/exp/webapp
2015-05-03 10:37:56.444:INFO:/:Initializing Spring FrameworkServlet 'grails'
2015-05-03 10:37:56.522:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:4440

これで安心してJava8環境に移行出来ます。

他にも2.5では rd-acl というコマンドラインツールが追加されていて、Rundeck ACL policy ファイルを生成することが出来るようです。(アクセスコントロール周り)