CI/CD

vendorディレクトリはGit管理すべきか

vendorディレクトリはGit管理すべきか、結論から vendorディレクトリとは何かを整理する Git管理しないとされる理由 リポジトリサイズが肥大化する 差分レビューが実質不可能 依存関係はlockファイルで管理できる それでもGit管理したくなる現実的な理由 ネ…

CI/CDでComposerをどう扱うべきか 実践的整理

CI/CDにおけるComposerの位置づけ CIでComposer installを実行する構成 どんな構成か この構成のメリット よくある落とし穴 依存関係をビルド成果物に含める構成 どんな構成か この構成のメリット 注意すべき点 CIではComposerを極力使わない構成 どんな考え…

Javaのビルドが遅いのは誰のせいか

Javaのビルドが遅いと感じる瞬間 Javaという言語は本当に遅いのか MavenやGradleは悪者なのか アノテーション地獄がビルドを重くする テスト設計が最大のボトルネックになる モジュール分割と依存関係の問題 CI環境が足を引っ張るケース 実際に改善するとど…

なぜGradleは高速と言われるのかを仕組みから理解する

Gradleが高速と言われる最大の理由 インクリメンタルビルドが効く理由 ビルドキャッシュがもたらす現実的な速さ 設定フェーズと実行フェーズの分離 並列実行とマルチプロジェクトの強さ 実際にやると分かる「速さの正体」 高速さを殺してしまう失敗例 Gradle…

Gradleビルドが速い理由と落とし穴を整理する

Gradleビルドが速いと言われる本当の理由 インクリメンタルビルドという前提 タスクグラフによる最適化 ビルドキャッシュの存在 実際にやるとこうなる:速くなるケース CIビルドが安定して速くなった例 ローカル開発のフィードバックが改善した例 Gradleビル…