我是 Play 和 Cloudbees 的新手。到目前为止,我能够部署 Hello World 应用程序。
但是当我尝试将“计算机数据库”示例 Play 2.2 应用程序部署到 Cloudbees 时,Jenkins 失败并显示以下控制台输出:
Started by a push to CloudBees Forge
Building remotely on s-bef1e580 in workspace /scratch/jenkins/workspace/computer-database
Checkout:computer-database / /scratch/jenkins/workspace/computer-database - hudson.remoting.Channel@342576ac:s-bef1e580
Using strategy: Default
Last Built Revision: Revision 53a2fb1d645b80ac21e9645dbf8ccf9c5a48d377 (origin/master, origin/HEAD)
Fetching changes from 1 remote Git repository
Fetching upstream changes from origin
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Seen 2 remote branches
Commencing build of Revision 6e8e5a4b23c43aabcc5eac843c3e51638e259cbe (origin/master, origin/HEAD)
Checking out Revision 6e8e5a4b23c43aabcc5eac843c3e51638e259cbe (origin/master, origin/HEAD)
Warning : There are multiple branch changesets here
[computer-database] $ /bin/sh -xe /tmp/hudson8894784358670234242.sh
+ export DATABASE_URL_DB=na
+ DATABASE_URL_DB=na
+ export DATABASE_USERNAME_DB=na
+ DATABASE_USERNAME_DB=na
+ export DATABASE_PASSWORD_DB=na
+ DATABASE_PASSWORD_DB=na
+ ./sbt -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -Dsbt.log.noformat=true clean compile test dist
[error] java.lang.NullPointerException
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? Build step 'Execute shell' marked build as failure
Recording test results
[cloudbees-deployer] Skipping deployment as build result is FAILURE
Finished: FAILURE
我能够在本地计算机上的 localhost:9000 上运行该应用程序(尽管它确实在开始时给了我一个数据库演化问题,当我单击“运行 SQL 脚本”按钮时它自行解决了)。任何帮助表示赞赏。
[从我的本地机器更新下面的完整堆栈跟踪]
$ sbt -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -Dsbt.log.noformat=true -Dplay.version=2.2.0 clean compile test dist
[error] java.lang.NullPointerException
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? l
java.lang.NullPointerException
at sbt.StringUtilities$.nonEmpty(StringUtilities.scala:12)
at sbt.impl.GroupArtifactID.$percent(DependencyBuilders.scala:50)
at $e93cdeca4b09efb7ea54$.$sbtdef(/Users/jkwok/Personal/cloudbeesRepos/computer-database/project/plugins.sbt:8)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sbt.compiler.Eval$.getValue(Eval.scala:420)
at sbt.compiler.Eval$$anonfun$4.apply(Eval.scala:87)
at sbt.compiler.Eval$$anonfun$4.apply(Eval.scala:87)
at sbt.EvaluateConfigurations$$anonfun$evaluateSetting$1.apply(EvaluateConfigurations.scala:82)
at sbt.EvaluateConfigurations$$anonfun$evaluateSetting$1.apply(EvaluateConfigurations.scala:80)
at sbt.EvaluateConfigurations$$anonfun$flatten$1$$anonfun$apply$5.apply(EvaluateConfigurations.scala:63)
at sbt.EvaluateConfigurations$$anonfun$flatten$1$$anonfun$apply$5.apply(EvaluateConfigurations.scala:63)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
at sbt.EvaluateConfigurations$$anonfun$flatten$1.apply(EvaluateConfigurations.scala:63)
at sbt.EvaluateConfigurations$$anonfun$flatten$1.apply(EvaluateConfigurations.scala:63)
at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1.apply(EvaluateConfigurations.scala:59)
at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1.apply(EvaluateConfigurations.scala:59)
at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:501)
at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:496)
at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:495)
at scala.Option.getOrElse(Option.scala:120)
at sbt.Load$.sbt$Load$$memoLoadSettingsFile$1(Load.scala:495)
at sbt.Load$$anonfun$loadSettings$1$2.apply(Load.scala:494)
at sbt.Load$$anonfun$loadSettings$1$2.apply(Load.scala:494)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at sbt.Load$.loadSettings$1(Load.scala:494)
at sbt.Load$.sbt$Load$$expand$1(Load.scala:507)
at sbt.Load$.loadSettings(Load.scala:511)
at sbt.Load$.sbt$Load$$loadSbtFiles$1(Load.scala:465)
at sbt.Load$.defaultLoad$1(Load.scala:471)
at sbt.Load$.loadTransitive(Load.scala:474)
at sbt.Load$.loadProjects$1(Load.scala:420)
at sbt.Load$.loadUnit(Load.scala:421)
at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:257)
at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:257)
at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:93)
at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:92)
at sbt.BuildLoader.apply(BuildLoader.scala:143)
at sbt.Load$.loadAll(Load.scala:313)
at sbt.Load$.loadURI(Load.scala:265)
at sbt.Load$.load(Load.scala:261)
at sbt.Load$.load(Load.scala:252)
at sbt.Load$.apply(Load.scala:136)
at sbt.Load$.buildPluginDefinition(Load.scala:593)
at sbt.Load$.buildPlugins(Load.scala:559)
at sbt.Load$.plugins(Load.scala:547)
at sbt.Load$.loadUnit(Load.scala:411)
at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:257)
at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:257)
at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:93)
at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:92)
at sbt.BuildLoader.apply(BuildLoader.scala:143)
at sbt.Load$.loadAll(Load.scala:313)
at sbt.Load$.loadURI(Load.scala:265)
at sbt.Load$.load(Load.scala:261)
at sbt.Load$.load(Load.scala:252)
at sbt.Load$.apply(Load.scala:136)
at sbt.Load$.defaultLoad(Load.scala:40)
at sbt.BuiltinCommands$.doLoadProject(Main.scala:434)
at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:428)
at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:428)
at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60)
at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60)
at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62)
at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62)
at sbt.Command$.process(Command.scala:95)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:87)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:87)
at sbt.State$$anon$1.process(State.scala:176)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:87)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:87)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.MainLoop$.next(MainLoop.scala:87)
at sbt.MainLoop$.run(MainLoop.scala:80)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:69)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:66)
at sbt.Using.apply(Using.scala:25)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:66)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:49)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:33)
at sbt.MainLoop$.runLogged(MainLoop.scala:25)
at sbt.xMain.run(Main.scala:26)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:57)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:77)
at xsbt.boot.Launch$.run(Launch.scala:57)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45)
at xsbt.boot.Launch$.launch(Launch.scala:65)
at xsbt.boot.Launch$.apply(Launch.scala:16)
at xsbt.boot.Boot$.runImpl(Boot.scala:32)
at xsbt.boot.Boot$.main(Boot.scala:21)
at xsbt.boot.Boot.main(Boot.scala)