JenkinsのSlaveでGitコミットログとコンソール出力(MSBUILD出力)が文字化け

既にセットアップ済みのJenkins(on Ubuntu)をmasterとして、jenkins slave(on Windows7)を追加した際のお話。

Gitコミットログが文字化ける

「jenkins 文字化け」キーワードでgoogleすると、起動オプションに「-Dfile.encoding=utf-8」を追加して再起動すれば文字化けが治りまっせ!
という情報をすぐに見つけることができるが、残念ながらJenkis Slave on windows環境下には効果がなかった。
更にgoogleし続けると

という素晴らしいページたちを発見。
このページに従いjenkins slaveサービスが実行されているWindows7に下記のシステム環境変数をセットする。
JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
slave-encoding3
反映されているかどうかコマンドプロンプトで確認
slave-encoding4
windows上のjenkis slaveサービスを再起動する。
slave-encoding5
jenkins master側からslaveのシステム情報を確認。
「Jenkinsの管理」>> 「ノードの管理」で表示されたノードの一覧で、確認したノードのメニューを開き「システム情報」を選択する。
slave-encoding8
file.encodingとsun.jnu.encodingが”UTF-8″になっているかを確認する。MS932の場合はダメ。
slave-encoding6
slave-encoding7

コンソール出力が文字化ける

Gitコミットログが解決したぜ!!!
と安堵していたら、今度はコンソール出力が文字化けするようになってしまった。
MSBUILD.exeの出力がsjisになっていたのが原因だったので、

のページを参考にして、jenkins masterのプロジェクトのビルドを下記のように変更。
slave-encoding9
このようにmsbuildを実施する前に”chcp 65001″を実施すると、文字化けしないようになった。

無理やりのような気がするが、OKとする。
めでたしめでたし。

2 thoughts on “JenkinsのSlaveでGitコミットログとコンソール出力(MSBUILD出力)が文字化け

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>