おれんじりりぃぶろぐ

きっと何者にもなれないエンジニアのブログ

JenkinsでJobをつくる時のメモ

基本的なことだけどやり忘れるとつらいので

  • 古いビルド破棄にチェックを入れる
  • ビルドの最大保存数を指定する
  • 高度な設定からビルドの成果物のみ日数や数を少なくすることも可能(ipaやapk貯まると意外と容量喰う)
  • git fetchのtimeoutがデフォルトで10分なので延長させておくのがよい
  • Advanced clone behaviousでタイムアウト時間を指定できる
  • ゴミファイルやフォルダ残ることがあるので、ビルド前にgit clean -fdやgit checkout .を行うほうがよい
  • 通知やHockeyAppへのアップロードなどは下流Jobに切り離すのもあり
  • Jobの削除を行ってもworkspace自体を消し忘れて残ることがあるのでAPI叩いて強制的に同期させるスクリプト

gist.github.com

このスクリプト自体をJobとして動かす。

  • 過去ビルドの成果物のipaやapkはJenkinsで管理するよりもHockeyAppにアップしてしまって管理するほうがよい(けっこう容量喰っていることがある)
  • レポジトリにビルドには直接関係ないリソースなどが含まれている場合、Sparse checkout pathsで欲しいディレクトリだけcloneしてくることが可能
  • 課金ビルドなど特別な設定が必要なビルドはJobを分けて用意しておくほうがよさそう
  • Jenkinsの容量いっぱいになったら、すでに削除済みのJobのキャッシュ残ってしまったりしているときもあるので、DerivedData消すとよさそう
  • ビルド時間が遅い -> 物理で殴ろう、ゴミ箱買おう
  • mac sierraのバグ??
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k LoginPassword login.keychain