Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CI(継続的インテグレーション)

HIRA
September 01, 2017

 CI(継続的インテグレーション)

2017.9 社内勉強会発表資料
2022.5.21 SlideShareから移行

HIRA

September 01, 2017
Tweet

More Decks by HIRA

Other Decks in Technology

Transcript

  1. 13 ビルド・デプロイの自動化をしない場合 (実装) エンジニア 検証サーバ 例えば、検証サーバへのアップ時の面倒ごと Git (バージョン管理) push ・ビルド

    ・デプロイ 面倒1:サーバに手動で接続する 面倒2:ビルド・デプロイ手順を間違えて壊す 面倒3:特定のメンバーにしかビルドができない (属人化)→依頼しないといけない。 などなど・・ 開発以外の作業が多い! 作業者の負担高い
  2. 14 (実装) GitBucket Slack Jenkins (構成管理) (バージョン管理) (CIツール) エンジニア 現プロジェクト例

    push 結果通知 hook (チャット) 通知指示 実行 ビルド テスト 検証サーバ ビルド・デプロイの自動化をした場合
  3. 15 (実装) GitBucket Slack Jenkins (構成管理) (バージョン管理) (CIツール) エンジニア 現プロジェクト例

    push 結果通知 hook (チャット) 通知指示 実行 ビルド テスト 検証サーバ 現時点のデプロイ状況がわかる ビルド・デプロイの自動化をした場合 作業中のメンバや、ビルド・デプロイの結果が全員に伝わる
  4. 16 (実装) GitBucket Slack Jenkins (構成管理) (バージョン管理) (CIツール) エンジニア 現プロジェクト例

    push 結果通知 hook (チャット) 通知指示 実行 ビルド テスト 検証サーバ pushして完了通知を受け取るだけ! サーバ接続やビルド・デプロイ作業は不要 ビルド・デプロイの自動化をした場合
  5. 17 (実装) GitBucket Slack Jenkins (構成管理) (バージョン管理) (CIツール) エンジニア 現プロジェクト例

    push 完了通知 hook (チャット) 通知指示 実行 ビルド テスト 検証サーバ 構成管理ツールで秘伝のタレ化、属人性を排除 ビルド・デプロイの自動化をした場合
  6. 23 テスト自動化 現プロジェクトの課題への対処法 アプリケーション層のテス トケースをJUnitで作成 → アプリケーション層のアクショ ンに対してのテスト(システムテス トレベルのシナリオ)を実行するこ とで、ドメイン層、インフラストラ

    クチャ層の実行をある程度網羅でき る。 アプリケーション層 ブラウザテスト(Seleniumなど)を利用せず、JUnitのみとすることで、テ スト実装工数と実行時間短縮化 ドメイン層 インフラストラクチャ層