REPORT

10年のGitLab運用経験からみた、GitLab CI/CD導入の舞台裏と得られた効果 ウェビナーレポート

2023年9月27日(水)GitLab主催ZYYX共催ウェビナー「10年のGitLab運用経験からみた、GitLab CI/CD導入の舞台裏と得られた効果」がオンラインで開催され、私がスピーカーを務めました。

本記事では、DevOpsプラットフォーム「GitLab」の概要と、2013年から10年以上GitLabを利用するジークスならではのCI/CD組織導入の舞台裏を紹介します。

GitLabってなに?

GitLabは、ソフトウェア開発を支えるツールです。アプリやウェブサイトの裏側では、複数の人たちがコラボレーションして機能を作り上げたり、品質を高めています。その過程のスムーズな進行の基盤として、ゴールドマン・サックスやNVIDIA、富士通をはじめ、多くの企業や開発者がGitLabを利用しています。

GitLabを使うと以下のことができるようになります。

  1. 開発計画をチームで共有する課題管理
    ソフトウェア開発には「これから作るもののリスト」、つまり課題(Issue)が必要です。GitLabにはこのリストや、作業の進行状況をビジュアル的に共有できるカンバンボードが存在します。これにより、関わる全ての人が「今、何をしているのか」「次は何をするのか」を明確に把握できます。
  2. バージョン管理とコードレビュー
    開発者の作業過程や変更点は、「Git」によるソースコード管理で一つ一つ記録されます。そのため、何か問題が起きた時に過去の状態に戻したり、どの変更がいつ行われたのかを瞬時に知ることができます。これは「バージョン管理」とも呼ばれ、ソフトウェア開発の過程で非常に重要な役割を果たします。
    バージョン管理が特に重要な役割を果たすのは、「コードレビュー」の際です。コードレビューは他の開発者が変更をチェックして、フィードバックを提供するプロセスです。GitLab上の詳細な履歴(Merge Request)は、どの変更がいつ、なぜ行われたのか、をレビュワーが正確に理解するのに役立ちます。
    このバージョン管理とコードレビューにより、開発者は安心して新しいアイデアを試すことができ、失敗しても簡単に以前の状態に戻せます。
  3. CI/CDで新しいアイデアのリリースを高速化
    新しいアイデアや機能を追加する際、それが既存のアプリやウェブサイトに影響をおよぼさないかのテスト、本番環境やプレビュー環境を更新するためのビルド、デプロイを行います。GitLabでは、この一連のプロセスを自動化する「CI/CD」機能が提供されており、迅速かつ安心して新しい変更を反映させることができます。

現代のソフトウェア開発では、「DevOps」の概念が中心的な役割を果たしています。DevOpsは、開発(Dev)と運用(Ops)の壁を取り払い、連続的なインテグレーションやデリバリー(CI/CD: Continuous Integration / Continuous Delivery)を実現することで、高速かつ効率的にソフトウェアをリリースします。

GitLabは、このDevOpsにセキュリティー(Sec)を加えたDevSecOpsのライフサイクル全体を、一元的に管理・支援するツールです。ソースコードの管理、テスト、デプロイ、監視、フィードバックを一つのプラットフォームが効果的に行うことで、DevOpsのプロセスに関わる全ての人がスムーズに進められるようサポートしてくれます。

DevSecOps

DevOpsとCI/CDを導入して得られたメリット

ジークスでは2013年からGitLabを利用しており、Gitによるバージョン管理とコードレビューの機能を中心に、社員やパートナーを含め100名以上の開発者のコラボレーション基盤となっています。

しかし前述の通り、GitLabはこの10年でDevOpsプラットフォームとしての機能が強化され、大きく成長しています(2021年10月には米国株式市場NASDAQへ上場)。

そこで今回のウェビナーではCI/CDにテーマを絞り、日々業務で感じていた課題に対し、CI/CD導入でどのような効果が得られたのか、ジークスの事例をもとに話を進めました。

ジークスとGitLabの10年

CI/CD導入前は、リリース作業に人手を要しており、「リリース作業が特定の人に依存している」「引き継ぎたいが時間が取れない」「手順書はあるが人為ミスが発生する」「久しぶりのリリース作業で心理的に不安」など、担当者の負荷が多くありました。

限られたメンバーでより高いパフォーマンスを発揮するためには、CI/CDによる時間節約と人為的ミスを無くすことが不可欠と考え、ジークスは2021年より積極的にGitLab CI/CDの導入を進めました。

よくある課題
CI/CD

その結果、3人掛かりで30分を要していたリリース作業が完全に自動、もしくは担当者1人がCI/CDを任意のタイミングで実行するだけで良くなり、リリース作業時間が9分の1に削減されました。

この効率化により、リリース頻度が「月に1回、週に1回」から「1日に5回」に増え、新機能の追加やバグ修正の対応が迅速になり、ソフトウェア品質の維持・向上、サービスの価値創出に繋がっています。

また、リリースプロセスが自動化されたことで「人為的ミス0」を実現。大規模な問題発生のリスクも軽減されました。担当者も手作業から解放され、より価値ある作業に集中できるようになっています。

リリース1回あたりの作業時間
導入によって得られた効果

2021年から進めたGitLab CI/CDの組織導入は、現時点で112件のプロジェクト(Gitリポジトリ数)に適用し、CI/CD実行時間から試算すると毎月80時間(エンジニア0.5人分の業務効率化)のコスト削減成果が見えてきました。

しかしこの112件という導入数は、ジークス全体のプロジェクト数の13.5%にしかおよばず、組織としてさらに導入を進める必要があります。

CI/CD導入プロジェクト数の推移
CI/CD実行時間の推移

以上が、ウェビナー「10年のGitLab運用経験からみた、GitLab CI/CD導入の舞台裏と得られた効果」のレポート内容です。

参加された方の感想では、「実際に運用している企業の生の声が聞けたことがよかった」「CI/CDの特にデプロイの自動化による効果がわかりやすく具体例で説明されていた」「CI/CD導入のアプローチがわかった」などとても好評でした。

ジークスでは過去10年のGitLab運用経験と、CI/CDの組織導入の実践知をもとに、2023年9月よりGitLab販売パートナーおよびCI/CD導入支援サービスを提供することになりました。

GitLab CI/CD 無料相談会も開催していますので、お気軽にお問い合わせください。

GitLabについて問い合わせる