Jenkins for Scala(SBT)Git master => Build =>测试=> Build Docker =>推入hub.docker

时间:2017-10-09 04:25:23

标签: git scala docker

我想在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

我不知道这个麻烦的原因。

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