デブサミ2019 2日目(02/15)メモ 11:05〜 CI/CDを使い倒して数段上のソフトウェア開発をしよう!
スライド https://speakerdeck.com/kimh/cdwoshi-idao-siteshu-duan-shang-falsesohutoueakai-fa-wosiyou
CI/CD戦国時代
- 何故関心が高まっている?
- 「ビシっと」答えられるという人はいなかった(受講者の中に)
CODEZINEの連載がキッカケ
- 「CI/CD」でぐぐるとトップに出てくる
Circle CI Japan
- 日本語サポート
- 問い合わせがあまり来ない?
- 日本語サポート
Hop-on!
- 金さん個人運営
テスト
- コンピュータにやらせよう
- テストを自動実行するのがCI
- テストの信頼性がない
- し忘れ
- テストが壊れている
- 壊れを検知
- 直さないとマージできない
- 修正を強制する
- 環境依存
- 変更を検知
使われない自動化は壊れていく(サイボウズ)
環境依存
- False Negative
- コンテナを使う
- LXCのコンテナでテストしていたのでCircleCIが有名になった
テストの新陳代謝を高める
Why Not
CI/CDツールのメンテナンス
- jenkinsおじさん問題
- CI/CDツールのプロがプロジェクトに1人だけ
- その人が抜けるとCI/CDが機能しなくなる
- クラウド型がおすすめ
- 導入しやすく、運用コストが低い。
- jenkinsおじさん問題
CD
- Dはデリバリー?デプロイメント?
- デリバリーは人の医師が介在する
- デプロイメントは全自動
- デリバリーの進化系がデプロイメント
- 広義のデリバリーの定義も存在する
- ビジネスの価値を継続的に〜
- デプロイは配置するだけ
- リリースは配置してトラフィックを受ける状態にすること
- Dはデリバリー?デプロイメント?
リリース後の問題
- フィードバックループ
- 細かい単位でリリースする
- フィードバックを早めに得る
- CI無しでは回らない
- No CI, No Feedback Loop
- フィードバックループ
Why Not CD?
CircleCI内の事例
- AWS上にビルドマシン200台
- 1人が半日張り付いて入れ替えが終わる
- 新旧コードが混在
- docker, kubenetes導入
- マイクロサービス化
- 1年かかった
- AWS上にビルドマシン200台
Beyond CD
未来
- 自動化することで進化してきた
- 今何を手動でしているか?
- 設定、モニタリング、デプロイ環境構築
- 今何を手動でしているか?
- first commitからクライマックスになる?
- 自動化することで進化してきた
ユーザーコミュニティ
- 3/5 メルカリオフィス
- 4月福岡