Posted at

Jenkins のビルドログを Dropbox に置いて Github から飛びやすくした

More than 1 year has passed since last update.


状況


  • 社内ネットワーク内にある mac で動いてる Jenkins

  • Jenkins の job のログを社外からも見たい

  • できれば Github の Pull Request のページから簡単に飛びたい

  • ログには色々な token とかの機密情報が平文で入ってるから限られた人だけが見れるようにしたい

  • VPN とかよくわからない


やったこと


  1. 下のようなコメンドで Jenkins のビルドログを Dropbox 内の特定のディレクトリに書き出します


    • curl $BUILD_URL/consoleFull > path/to/dropbox/logs/log_${BUILD_NUMBER}.html



  2. Dropbox の設定でこのディレクトリ(logs)を共有したいメンバーに共有します



    • https://www.dropbox.com/home/logs?preview=logs_${BUILD_NUMBER}.html という URL でブラウザから見れるようになります



  3. github の Statuses API を使って先程の dropbox の URL を Pull Requset の status に書き込みます


    • curl 使って書き込めます



これらを行った結果、下の画像の Dropbox という context の Details から dropbox のページが開けるのでどこからでも安全に jenkins のログを見れるようになりました。

スクリーンショット 2017-10-10 16.17.26.png


まとめ

Jenkins のログを Dropbox に書き出す処理自体は以前から行っていましたが、今回社内から Dropbox を同期しないでブラウザから簡単に見たいという要望がありました。

共有 URL を発行すると誰でも見れてしまうため不安だったので Dropbox の共有機能を使って必要なユーザーだけが見れるようにしました。

Github の Pull Request の Status の Detail に URL を載せることで簡単にログにアクセスできるようになりました(フォルダをマウントする形式だとビルド番号からファイル名を探すのが結構手間だった)。

ちょっとした改善でとても効率的になった気がします。