読者です 読者をやめる 読者になる 読者になる

Jenkins Pipeline PluginでRobocopyを使うと成功したのにFAILUREで返ってくる

  • Workflow PluginあらためPipeline Pluginを使い始めてます。便利だわー。Groovyだし。

実行したScript

node('Windows') {
    def snapshot = "${env.BUILD_TAG}"
    echo "$snapshot"
    bat "robocopy /E .\\foo \\\\server\\build\\Product\\${snapshot}\\foo"
}
  • これでrobocopyは成功してるのにFAILUREになってしまう。

修正

  • どうやらRobocopyは戻り値が0じゃないらしい

d.hatena.ne.jp

  • とりあえず0で返すようにしました。
node('Windows') {
    def snapshot = "${env.BUILD_TAG}"
    echo "$snapshot"
    bat """robocopy /E .\\foo \\\\server\\build\\Product\\${snapshot}\\foo
                if errorlevel 1 exit /b 0
                if errorlevel 0 exit /b 0"""
}

まあ、こんなもんか。