我想在Jenkins上使用继续传递堆栈: 混帐 斯卡拉(SBT) 泊坞
Jenkinsfile:
pipeline {
agent any
stages {
stage('Build') {
steps {
echo "Compiling..."
sh "${tool name: 'sbt', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt compile"
}
}
stage('Docker Publish') {
steps {
// Generate Jenkinsfile and prepare the artifact files.
sh "${tool name: 'sbt', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt docker:stage"
// Run the Docker tool to build the image
script {
docker.withTool('docker') {
docker.build('my-app:latest', 'target/docker/stage')
}
}
}
}
}
}
我在步骤“Docker Publish”上有下一条消息:
[job1] Running shell script
+ /var/jenkins_home/tools/org.jvnet.hudson.plugins.SbtPluginBuilder_SbtInstallation/sbt/bin/sbt docker:stage
[info] Set current project to job1 (in build file:/var/jenkins_home/workspace/job1/)
[error] Not a valid key: stage (similar: state, target, tags)
[error] docker:stage
[error] ^
script returned exit code 1
我不知道这个麻烦的原因。
答案 0 :(得分:1)
添加build.sbt文件:
import com.typesafe.sbt.packager.archetypes.JavaAppPackaging
//enablePlugins(JavaAppPackaging)
enablePlugins(JavaServerAppPackaging)
添加项目/ plugin.sbt文件:
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0")
刷新SBT项目。
它是SBT版本0.13.16