RaspberlyのブログRaspberlyのブログスマートフォン用の表示で見るRaspberlyのブログUnityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。勉強会/イベント-サポーターズ勉強会のレポート(メモ)です。会場はサポーターズさんです。時間も大事Jenkinsのログも読めると便利4.新しいものは正義5.いつでもJenkinsを復元できるようにしてくださいまとめ質問Q.Jenkinsはよく壊れるといいましたが、Jenkinsのサーバーが壊れるのか、ジョブ単位で動かなくなるのかQ.Jenkinsをサービスに導入するタイミングは?今日話すことCIツールを初めて使う方に。「こんな感じで使ったらうまくいったよ」、「うまくいかなかったよ」という話をします。具体的な使い方よりも心構えについて話します。最初に結論から仲良くなる方法はないです!なんでないのか・そもそも、Jenkinsはいろんな環境に依存してくるお客様というよりも社内に影響してくる(新しいことを始める、社内の環境が変わるなど)・Jenkinsはツールを使うツールなのでツールが壊れるとどうしようもなくなる。なっていく方法まず精神論から、なかよくなるイメージJenkinsおじさんはツンデレです・ちょっと何かあるとすぐ止まる・もしあなたがCIエンジニアの場合、Jenkinsが止まると回りからすぐに言われます・何もしなくても使用者や環境のせいで止まります・Jenkinsおじさんはまだ8歳なので大目に見ましょうJenkinsおじさんは病弱です。いろんな理由でとまります。CIは手段です、目的ではありませんまた、3Dなもの・リアルタイムなものは苦手です。ゲームでいうとレベルエディタのようなものをCIでやるのは無謀です。できることできないことを把握しましょう。必要ならば別の手段も考えましょう。Jenkinsおじさんと付き合うためにどうすればいいのかどういうアプローチが必要か、ツールの使い方ではなく、何に使うのかという話1.ジョブの名前と場所は大事よくわかる名前をつけましょう。プログラムのメソッド名よりも考えてつけましょう。使う人が自分だけではないからです。簡単なドキュメントで十分な説明のできるジョブにしましょうという意味です。あなたがCIエンジニアの場合、そうしないと毎回聞かれることになります。非エンジニアが触るジョブの説明は超丁寧にしましょうJenkinsの取り扱い説明書のように書いてあげるのも手。ジョブのリストはabc順なのでまとめたいものは手前に置くといいでしょう。「使ってる側から見てシンプルか複雑か」です。ジョブにパラメータをあたえることができるが、それよりもジョブをコピーして少し変えたほうがいい。大量のパラメータがあった時に、それを全て正しく設定できる人間はいない。パラメータがいっぱいだと、問題が起こった時にどういう状況でおこったのか把握できなくなる。ジョブ同士の依存関係を減らしましょうジョブ同士の前後関係が複雑など何をやっているのかわからなくなってしまう。何か問題が起こった時、どういうルートで起こったのかたどるのが難しくなる。基本的にpipelineを使えば簡単に実現できると思います。ヒューマンエラーをおこさないように、調べる人にとってわかりやすくしよう3.情報はすごく大事ログはめちゃくちゃだそう。Jenkinsは壊れるのでログは役にたちます。ログファイルは成果物として保存することもできます。時間も大事タイプスタンプ機能をどのジョブにも入れましょう。時間がかかるものだと特に重要。pipelineならstageという機能を使えばstage内でかかった時間もわかるので便利です。あまりに時間がかかるようならタイムアウトやリトライするようにしたほうがいいかも。Jenkinsのログも読めると便利Javaで動いているのでJavaのログがでてきます。読めるようになると便利です。生のデータはJenkinsのホームディレクトリの中にあります。調査などに時間をかけたくなければログをだしましょう。4.新しいものは正義Pipelineを活用しましょう。最近は結構安定しています。ループやイフを使いたい場合や最終確認ボタンみたいなのを出すことができます。できないこともまだあります(Unityを起動するなど)そういう場合はそこだけジョブに切り出すとかもあります。サーバー側は全部パイプラインでいいと思います。Jenkinsのバージョンも最新がいいかも最近はおもむろにバージョンを上げても問題ないと思いますが、バックアップをとっておきましょう。新しいほうが幸せ化かも・・・?5.いつでもJenkinsを復元できるようにしてください最悪、作り直さなければならないときが来ます。来ます!いつ壊れてもすぐ復旧できるようにしましょう。AWS上にあるのならそれをバックアップをとっておくとか。成果物はいらない、設定だけでOK。これはすごくすごく大事です。まとめ・CIツールは壊れるんだよねという心構えで接しましょう。・説明はプログラムを作るときよりもわかりやすく。・使う側から見てジョブはシンプルにしておきましょう。・ログや情報はとても大事。・バックアップを絶対に取りましょう。質問Q.Jenkinsはよく壊れるといいましたが、Jenkinsのサーバーが壊れるのか、ジョブ単位で動かなくなるのかA.どっちもあります、Jenkinsにくっついてるスレーブが問題の時もありますし、人為的な要因でジョブが壊れることもある、どうしようもない問題もあります。何にせよあなたがCIエンジニアの場合、全ての状況において「Jenkinsが壊れた」という報告が飛んできます。Q.Jenkinsをサービスに導入するタイミングは?チームのスケールによります。2、3人ならいらないが、20人30人規模であるならなるべく早くやりましょう。規模が大きければ大きいほどリターンも大きいです。全員が手動でビルドしてテストしているなら、ビルド時間は大きなロスとなってします。2019、11日目の記事です。Microsoft勉強会のレポート(メモ)です。勉強会のレポート(メモ)です。#1勉強会のレポート(メモ)です。完全に理解した勉強会のレポート(メモ)です。アーカイブおすすめアセット参加グループUnityUnityゲーム開発者ギルドリンクはてなブログブログをはじめる週刊はてなブログはてなブログProはてなブログをはじめよう!Raspberlyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。