#Book
[[📒アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知]]
## 3-1 [[🗃️継続的インテグレーション]]
- 開発に関わる全員で、我慢できる時間の上限について認識を合わせるべき
- 10分を超えると遅いと感じる。サーバースペックを上げる、実行する作業を減らす、作業を並列に実行するなど工夫をする
- 一番重要なことは、処理が失敗し続ける状態を放置しないこと
- フックスクリプト
- 例
- pre-commit(コミット前)
- pre-push(プッシュ前)
- 特定のブランチへプッシュできないようにする
- ツールによるドキュメント自動生成
- APIドキュメントの自動生成
- ER図を自動生成
- 校正ツール(textlint)
## 3-2 [[🗃️継続的デリバリー]]
- CI/CDパイプラインを整える
- リリーマス魔dネイ必要なここの処理と、実行順序やタイミングを整理して定義
- 利用環境をブランチ戦略と紐付け自動更新する
- 💭local, test, stagingは一般的。canary環境は良さそう。一部のユーザーに対してのみ、公開される環境
- ❓canary環境は、どのタイミングでデプロイするのが一般的なのかな?
## 3-3継続的テスト
- テストピラミッド
- 単体テストが多く、E2Eテストを少なくする
- [[🗃️E2Eテスト]]は、実行時間が長い、不安定になりやすい
- 逆にアイスクリームコーンの形となるテストは、あまり良くない
- [[🗃️E2Eテスト]]
- 重要なカスタマージャーニーに絞ってテストするのがおすすめ
- 例) カートから注文ができる
で活用できるプラクティス