Mac 上の Jenkins ジョブを Windows 上に移植する際に躓いた点をメモする.

動作環境

  • Windows 10
  • Jenkins 2.7.2
  • Unity 5.3.4p5
  • Cygwin 2.5.2

環境変数

  • 参照方法は UNIX 系では ${ENV_VAR} だが, Windows では %ENV_VAR% である
  • ただし Jenkins 自体の環境変数の扱いは Windows 上であっても UNIX 形式である

パスの表記

Unity

  • Windows のバックスラッシュ区切りのパスは無視される
  • パスは Windows であってもスラッシュ区切りで表記する必要がある
    • e.g. d:\foo\bard:/foo/bar へと書き直す必要がある
WORKSPACE="d:\foo\bar\workspace"
WORKSPACE_UNITY=`echo ${WORKSPACE} | sed -e 's/\\\\/\\//g'`
echo ${WORKSPACE_UNITY}
d:/foo/bar/workspace

Cygwin

  • UNIX のスラッシュ区切りのパスを用いる
  • ドライブは /cygdrive/ 以下にマウントされている
    • e.g. d:\foo\bar/cygdrive/d/foo/bar へと書き直す必要がある
WORKSPACE="d:\foo\bar\workspace"
WORKSPACE_CYGWIN=`echo ${WORKSPACE} | sed -e 's/\\\\/\\//g' -e 's/://g' -e 's/^/\\/cygdrive\\//g'`
echo ${WORKSPACE_CYGWIN}
/cygdrive/d/foo/bar/workspace

改行コード