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

Jenkins Pipeline PluginでWindows Batch Scriptを使うと文字化けする

  • またまた、Workflow PluginあらためPipeline Pluginの話です。
  • まあ、さもありなんとは思います。
    • build jobとかbatではないところは当然文字化けてません。
    • UTF-8にしてあげればいいんでしょうねと。
      • chcp 65001してあげることにした。
node('Windows') {
    build job: 'foo', parameters: [new StringParameterValue("branch", branch)]
    
    step ([$class: 'CopyArtifact',
        projectName: "foo",
        filter: "build/libs/*.jar",
        target: "foo/webapps/bar/WEB-INF/lib",
        fingerprintArtifacts: true,
        flatten: true
    ])
    
    bat 'chcp 65001'
    dir('webapp') {
        dirs = ["css", "images", "js"]
        dirs.each {
            bat "xcopy /Y /E /I .\\${it} ..\\foo\\webapps\\bar\\${it}"
        }
    }

これでchcp以降のxcopy等全てのbatが文字化しなくなりました。(なぜか英語で表示されるけど・・・)