【发布时间】:2018-05-27 07:46:23
【问题描述】:
我对 sbt 和 Jenkins 都是全新的。我正在尝试使用 Jenkins 管道构建构建计划。以下命令在 shell 脚本中运行良好:sbt compile & sbt package
但是,sbt dist 不起作用。我收到错误not a valid command
对于它的工作原理,这里是 jenkinsfile 的内容(我知道 sbt dist 应该在构建中,但我仍在尝试):
pipeline {
agent any
stages {
stage('Build') {
parallel {
stage('Build') {
steps {
sh 'echo "Compiling... "'
sh 'sbt compile'
}
}
stage('Deploy') {
steps {
sh 'echo "Deploying... "'
sh 'echo "packaging.. "'
sh 'sbt dist'
}
}
}
}
}
}
Jenkins 2.89.1,sbt 都尝试了:0.13 和 1.0.x
【问题讨论】:
-
在裸机 SBT 中没有
dist任务。所以它只是告诉你它找不到这样的任务。可能您打算使用一些定义dist任务的 SBT 插件? SBT 中有一个publish任务,可能你正在寻找它。 -
@AlexanderArendar 这是否意味着
dist已安装在机器上但未被jenkins使用?是否有任何与dist相同的 sbt 任务(生成 zip 文件)? -
据我所知,在 SBT 中没有任何东西叫
dist。知道为什么你决定在那里应该有一个dist任务会很有帮助。package任务生成一个 .jar 文件。试试看github.com/sbt/sbt-native-packager SBT 插件,它可以用来构建.zip 等等。 -
@AlexanderArendar 当我第一次运行
sbt dist时,它会加载一些库/插件,然后从终端运行。我面临的问题,它不适用于 Jenkins whithin shell 脚本。也许是因为该插件没有添加到詹金斯。native-packager也是如此。我的目标是从 jenkins 生成 zip 文件。因此,我可能需要一个与 jenkins 兼容的插件来生成 zip。感谢您的意见 -
@AlexanderArendar 这里是
dist的来源:playframework.com/documentation/2.6.x/Deploying
标签: shell jenkins sbt jenkins-pipeline