Hero background image
DevOpsライフサイクルの7つのフェーズ
DevOpsは、ソフトウェア開発を合理化するために、意図的な作業慣行と生産性向上ツールを組み合わせたものだ。このプロセスでは、7段階のDevOpsライフサイクルを理解することが重要です。
このページは機械翻訳されています。正確性のため、また情報源として原語バージョンを表示するには
電球の統合

DevOpsライフサイクルの7つのフェーズ

DevOpsのライフサイクルとは?DevOpsのライフサイクルは、ソフトウェア開発プロセスを最初から最後まで導く継続的開発の7つの異なるフェーズに分かれている。DevOpsを理解するには、ライフサイクルの各フェーズと、各フェーズのプロセスと要件を知ることが重要だ。

1.継続的な開発とデリバリー

ソフトウェア開発は、プランニングとコーディングから始まる。DevOpsでは、絶え間ない改善を目的とした定期的なデリバリーのプロセスを通じてこれを行う。

DevOpsは、 アジャイルの核となる 価値観に基づき、定期的で頻繁なソフトウェアリリースを奨励している。これを実現する標準的な方法は、コードの統合とデプロイを自動化することであり、継続的インテグレーション/継続的デプロイメント(CI/CD)と呼ばれるプロセスである。

プリ・プロダクションであれポスト・プロダクションであれ、開発全体を通じて、チームはフィードバックを活用して問題を特定し、解決策を仮説立ててプランニングする。

DevOpsライフサイクルの計画フェーズに続いて、ソースコードとアセットの作成が、生産を前進させ続けることを目標に開始される。どのコーディング言語を使用するかにかかわらず、ソースコード管理ツールを使用してコードベースを維持することは優先事項である。

2.継続的インテグレーション


継続的インテグレーション(CI)は、開発者が1日に数回、コードを共有リポジトリに統合することを要求する開発プラクティスである。各チェックインやブランチは、自動ビルドによって検証され、チームは早期に問題を検出することができる。

CIは、少数の大きな変更ではなく、多くの小さな反復的な変更をサポートするように設計されている。コードのビルド、テスト、マージ、共有リポジトリへのチェックなどのワークフローを自動化することで、チームのスケールアップを支援する。

継続的インテグレーションの究極の目標は、より良いコードをより速く提供することだ。より小さな頻繁な変更と自動化を組み合わせることで、チームはより迅速にバグを発見して対処し、新しいアップデートの検証とリリースに費やす時間を短縮できる。

3.継続的テスト

継続的テストは、継続的インテグレーションと密接な関係にある。CI/CDパイプラインは、手動のコード検証よりも自動テストに依存している。これは、デプロイされるものの品質が高く、リリース前にゲームを壊すようなエラーが発生しないことを確認するためだ。

DevOpsは、可能な限り多くの手動プロセスを排除することに依存している。手作業で面倒なプロセスが多ければ多いほど、時間の浪費とエラーの可能性が高まる。継続的テストDevOpsツールの目標は、単にバグを発見することではなく、できるだけ早くバグを発見し、本番フェーズでパッチやホットフィックスで対処する必要がないようにすることである。

自動テストは、ビルドへのリリース前と本番前に設定される。チームは、本番前および自動テスト完了後の最終段階として、手動レビューを挿入することができる。

4.連続モニタリング


継続的モニタリングは、優れたユーザー・エクスペリエンスを提供するという最終目標に向けて、DevOpsライフサイクルを確実に維持する。ソフトウェアのアップデートと使用状況は綿密に追跡され、収集された洞察はソフトウェアが正しく動作するように使用される。

継続的なモニタリングの段階では、チームはシステム・エラーをできるだけ早く検出し、解決しようと努める。自動化されたエラー・トラッキングはここでは不可欠である。自動化によって、ソフトウェア全体のパフォーマンス、ユーザー行動、開発インフラの安定性など、その他の領域も可視化できる。

自動化を監督するだけでなく、DevOpsチームはパイプラインのすべての側面がセキュリティ標準に準拠していることを保証する責任がある。リリース管理の手作業もこの段階で行われる。

継続的なフィードバックには、社内チームとユーザーからソフトウェアのパフォーマンスに関する洞察を収集するためのフィードバック・ループを実装する必要があります。フィードバックはDevOpsチームと共有され、製品反復の指針となる。情報源には、調査、アンケート、フォーカスグループ、ソーシャルメディア、フォーラムなどがある。

このプロセスは、ソフトウェアが正しく機能するかどうかを判断するだけでなく、全体的な顧客満足度を測定することで、ビジネス戦略を導き、可能な限り最良の結果を保証します。継続的なフィードバックは、製品ロードマップの舵取りや、視聴者の要望、ニーズ、期待に応えるために活用されるべきである。

6.継続的デプロイメント

継続的デプロイは、自動化サイクルを完成させ、デプロイプロセスにおける人間の介入を最小化または除去することで、継続的インテグレーションと連動する。自動化されたDevOpsツールは、ソースコードの更新を監視し、テスト段階を通過した時点で本番環境に自動的にデプロイすることで、時間を節約し、ユーザーの満足度を向上させる。

継続的デプロイは、自動化によってユーザーとのフィードバックループを加速する。メソッドはまた、リリースごとにデプロイメントを分けて、ユーザーから隠したり(ダークリリース)、新機能をテストしたりフィードバックを求めたりするために特定のユーザーのためにオンにしたり(フィーチャートグルまたはスイッチ)することもできます。

コードは小さなバッチでリリースされるため、大規模なコード変更に伴うリスクを最小限に抑えることができる。

7.連続操業

継続的なオペレーションは、ダウンタイムを最小限に抑え、ユーザーにとって不満の残るサービスの中断を防ぐことを目的としている。DevOpsライフサイクルのこのフェーズでは、アプリケーションと環境の安定性とパフォーマンスの最適化に重点を置く。また、継続的開発の計画フェーズにバグレポートや機能強化のためのユーザーフィードバックを提供することで、DevOpsライフサイクルのループを完成させる。

チーム間やユーザーとの継続的なコラボレーションを通じて、バグ、フィードバック、セキュリティ上の懸念は、DevOpsパイプラインを通じて継続的に伝達、評価、反復される。

PlasticSCM

完璧なワークフロー

この短いビデオでは、Unityバージョン管理チーム(旧Plastic SCM)が、その強力なソースコード管理ツールが、DevOpsライフサイクルの中でシームレスなワークフローを実現する上で重要な役割を果たす戦略的DevOpsツールチェーンをどのように実行できるかを紹介している。

その他のDevOpsリソース
複数の作業コピー
バージョン管理システムとは?

ソースコードの変更を追跡・管理することは不可欠です。さまざまなタイプのバージョン管理システムが、コードの完全性を維持するためにどのように役立つかをご覧ください。

ダンベルを持つ手
DevOps を採用するメリット

DevOps プラクティスを実装すると、開発パイプラインが合理化され、チームとユーザーの満足度を高めることができます。DevOps がどのように役立つかをご確認ください。

電球を持つ手
DevOps の原則

すべてのゲームスタジオは、クランチ(過重労働)を減らしつつ制作をスピードアップしたいと考えており、DevOps はそれを実現するために最適な方法です。DevOps の方法論の背後にある重要な原則を学ぶことから始めましょう。

DevOps電子書籍
DevOpsに不可欠な4つのプラクティス
4 つの重要な DevOps のプラクティス

ゲーム開発のための基本的なDevOpsの原則とプロセスを学び、Unityのソリューションポートフォリオで成功を収めたスタジオの話を聞くことができます。

プラスチックSCMバージョン管理
バージョン管理とプロジェクト整理のベストプラクティス

このe-bookでは、Unityバージョン管理チームから、完璧なワークフローを実装することで、より優れたソフトウェア開発者になり、バージョン管理をマスターする方法についての洞察を得ることができます。

DevOpsでバグをクラッシュさせる
バグを潰し、エラーをキャッチし、プレーヤーをゲームに留める

HalfbrickがBacktraceとHelpshiftを使用して、ゲームに支障をきたすエラーを未然に検知し、プレーヤーをゲームに留める方法をご覧ください。

SCM
UnityでDevOpsライフサイクルを最適化する

DevOpsのライフサイクルは、バージョン管理から始まる。UnityのDevOpsソリューションで、継続的インテグレーションと開発を実装。