我想在Jenkins构建服务器上创建一个播放应用程序的发行版。
我的印象是,这只能通过sbt完成,并且不需要安装游戏本身。 play的引用在我的项目的plugins.sbt文件中实现:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.1")
现在,当我输入sbt并运行“dist”时,我希望分发工件存储在dist文件夹下。但没有任何东西存储在dist文件夹下。我没有收到错误消息。构建完成“成功”。
我需要做些什么才能让它在sbt中运行?
谢谢!
- 已编辑 - :
在dist文件夹中查找.zip文件只是我的错误,不知道我是怎么想出来的。 但它仍然无法工作: 不知何故,我在目标/概述中找到的分布看起来与以前的分布不同。 在myApp.zip工件之前有一个像这样的内部结构:
lib
start
现在它包含这些文件夹:
bin
conf
lib
share
加上自己的副本,所以myApp.zip还包含myApp.zip的副本(一种文件递归:)
基本上我认为我的sbt设置必须有错误,所以我会在这里发布:
build.properties:
sbt.version=0.13.1
Build.scala
import sbt._
import Keys._
import play.Project._
import com.typesafe.sbt.SbtScalariform.scalariformSettings
object ApplicationBuild extends Build {
val appName = "myApp"
val appVersion = "1.0-SNAPSHOT"
val cmd = "git rev-parse HEAD"
val sha1 = Process(cmd).lines.head
IO.write(file("conf/version.conf"), s"""sha1="$sha1"""")
val appDependencies = Seq(
// Add your project dependencies here,
jdbc,
anorm,
"joda-time" % "joda-time" % "2.3",
"org.tmatesoft.svnkit" % "svnkit" % "1.7.11",
"org.apache.commons" % "commons-email" % "1.3.1",
"jp.t2v" %% "play2-auth" % "0.11.0",
"com.unboundid" % "unboundid-ldapsdk" % "2.3.1",
"mysql" % "mysql-connector-java" % "5.1.18",
"com.typesafe.slick" %% "slick" % "2.0.0-RC1",
"org.slf4j" % "slf4j-nop" % "1.6.4",
"com.h2database" % "h2" % "1.3.170"
)
val main = play.Project(appName, appVersion, appDependencies).settings(
// Add your own project settings here
// resolvers += "svnkit repo" at "http://maven.tmatesoft.com/content/repositories/releases/"
)//.settings(scalariformSettings:_*)
}
plugins.sbt
logLevel := Level.Warn
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.1")
addSbtPlugin("com.jamesward" %% "play-auto-refresh" % "0.0.7")
addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.2.1")
我的构建设置中是否存在错误导致dist任务出错?
答案 0 :(得分:3)
dist工件进入target/universal
目录。