Topics Gitops GitLabのコラボレーション技術がGitOpsに不可欠な理由:デモ

GitLabのコラボレーション技術がGitOpsに不可欠な理由:デモ


GitLabなどのコラボレーションソフトウェアにより、GitOpsワークフローはよりシンプルになります。 この記事には、GitLabがコラボレーションを通じてGitOpsを強化する方法のデモが含まれています。

GitOpsとは、インフラストラクチャの構築とアプリケーションのデプロイに使用されるすべてのコードの信頼できる唯一の情報源として、Gitリポジトリを使用することを指します。Gitなどのバージョン管理システムを信頼できる唯一の情報源として使用することで、エンジニアはアプリケーションの基礎となるソースコードを継続的なデリバリーの形式で更新できます。

バージョン管理システムは、文書化と可視性を確保し、監査証跡によりコンプライアンスに準拠できるようにするものです。GitOpsを使用すると変更を簡単に元に戻すことができるほか、最新の情報にアクセスできる単一の場所が提供されるため、ソフトウェア開発チームとオペレーションチームの両方の観点からチームが現在の状態を把握しやすくなります。

GitOpsとGitLab

GitLabはDevOpsのライフサイクル全体にわたる単一のアプリケーションであり、コラボレーションプラットフォームとしての役割を果たし、ステークホルダーがコード制作プロセスに関与できるようにします。 インフラストラクチャや開発チーム、セキュリティやビジネスのステークホルダーに至るまで、開発ライフサイクル全体にわたるチームはコードを迅速かつ効率的に出荷するためにコラボレーションするシームレスな方法を必要としているため、コラボレーションはGitOpsプロセスにおいて重要な側面です。

GitOpsはコードにとどまらずコラボレーションを支える役割を果たし、GitLabはすべてのチームが単一のプラットフォームで作業できるようにします。

GitLabコラボレーション機能をGitOpsで活用する

記事のこれ以降の部分には、GitLabがコラボレーションを通じてGitOpsを強化する方法のデモが含まれています。このデモでは、後のセクションでリンクされているエピックとイシューの例を取り上げます。

エピックを使用したプロジェクトの計画

GitOpsはバージョン管理を中心としたデプロイであるため、最初のステップとしてプロジェクトのスコープを定義し、ステークホルダーを特定します。次にチームメンバーは、コーディング、コードとしてのインフラストラクチャの変更、レビューして最終的に本番環境にデプロイする必要がある変更など、プロジェクトを実現するために必要なその他の情報を共有できます。

チームは関連するリポジトリでエピックを開き、チームは説明に目標とタスクを追加できます。エピックを使用すると、チームはさまざまなプロジェクトとマイルストーンのイシューを追跡できます。イシューはGitLabでアイデアを共有し、作業を計画するための主要なメディアです。

エピックとイシューの例

クラウドのスケールというこのエピックの例では、GitLabでKubernetesクラスターをスケールアップする背後にあるプロセスを確認できます。GitLabはマルチクラウドであるため、Kubernetesクラスターを各固有の環境にデプロイするために必要なものを明確にするデモにはAzure (AKS)Google (GKE)Amazon (EKS)の3つの個別のイシューがあります。

GitLabでコラボレーションと透明性を高める

エピックレベルでは、チームはEKSクラスター内でのスケールのイシューがすでに完了していることを確認できます。イシューをクリックすると、イシューに概説されたタスクからマージリクエストが作成され、MRがすでにマージされていることがわかります。

元のコードと現在のコードの間で正確に何が変更されたかを確認するには、MRをクリックします。ここから、チームはマージの前/後に合格したすべてのテストを確認し、変更を特定するためにコメント履歴を参照し、誰がコードを承認してマージしたかをメモできます。

GKEへのスケールのイシューはまだ完了していません。マージリクエストは進行中の作業(WIP)のままであるため、まだ何も変更されていません。TerraformのMRには、デプロイのためのGKE環境を準備するためにノード数を2つのノードから5つのノードに変更する必要があることが示されています。MRの承認者が「WIPステータスの解決」をクリックしてパイプラインを開始すると、ソースブランチを削除して更新されたノード数を統合できます。

GitLabを効果的なコラボレーションツールとして使用するためには、透明性が必要です。そのため、組織内の全員がデフォルトでイシューと関連するMRを確認できる必要があります。イシューとMRはを共同作業者に割り当てるか、コメントセクションで共同作業者にタグを付けてTo Doリストに追加できます。ステークホルダーがプロジェクトの進捗状況を確認するためによく使用されるエピックビューに戻ると、チームはGKEを5つのノードにスケーリングするためのデプロイが進行中であることを確認できます。

GitLabをGitOpsワークフローに使用すると、すべてのチームメンバーが同じシステムで作業し、プロジェクトのステータスを把握できるようになります。インフラストラクチャでもアプリケーションでも、すべての変更は作業本体を定義し、それを個人に割り当て、チームメイトと協力し、そのコードをデプロイし、Gitリポジトリを信頼できる唯一の情報源として使うという同じプロセスをたどります。

GitOpsとは

実際に体感してみませんか?

統合されたDevSecOpsプラットフォームによってチームで実現できることをご確認ください。