Gitをベースにコード管理と継続的インテグレーションのプラットフォームを開発するGitLabと,クラウドプラットフォームプロバイダのDigitalOceanが,オープンソースコミュニティに継続的インテグレーションを無償で提供するクラウドサービスで提携した。
継続的インテグレーションに関するGitLabのソリューションの基本になっているのは,プロジェクト/ビルドの管理サービスであり,GitLab.comの一部でもあるGitLab CIと,ビルドとテスト実行,APIを経由したGitLab CIへのアクセスを処理するGitLab Runnerの2つだ。GitLab CIは,ビルドの並列化やリアルタイムロギング,バージョンテストなど,CIに不可欠な機能を提供する。
Go言語で記述されたGitLab Runnerは,ビルドプロセスを可能な限り短時間で実行するために必要な,VMのスケールアップとスケールダウンを行なう自動スケール機能を提供する。GitLabによると,GitLab Runnerの自動スケール機能によってビルドの並列実行が容易になるだけでなく,起動時間の早さがDigitalOceanでの実行に適しており,新たなインスタンスの起動が1分以内で可能だという。
今回の発表がコミュニティの開発者にとって持つ意味を詳しく知るため,InfoQは,GitLab CEOのSid Sijbrandij氏に話を聞いた。
GitLabとDigitalOceanの統合がどのうような形式になるのか,説明して頂けますか?新しい部分はどこでしょう?
DigitalOceanは,GitLabに簡単にインストール可能なDropletテンプレート(ビルド済イメージ)を何年も前から提供しています。GitLab Runner Autoscaleによって,開発者が自分自身のGitLabサーバを立ち上げて,DigitalOceanの資格情報を入力することができるようになります。新たなDropletを自動的に起動したり停止したりすることで,継続的インテグレーションテストの高速,安全,かつ費用対効果の高い運用が可能になるのです。
DigitalOcean上のGitLabを通じて継続的インテグレーションをデプロイする上で,開発プロセスとして最もメリットが期待できるのは,どのようなシナリオなのでしょうか?
DigitalOceanとGitLabで自動スケール可能な継続的インテグレーションを使用する場合,そのメリットを決定付けるファクタはたくさんあります。いくつか例を挙げると,
- 多くのプロジェクトをテストする必要のある場合,継続的インテグレーションとテストを多数のプロジェクトで使用することが可能。
- 実行に長時間を要する低速なテストスイートとは対照的に,テストを並行して実施することが可能。
- UIエクスペリエンスのシミュレーションにヘッドレスブラウザを使用する場合のような,効率の悪いテストに対するソリューション。
- 相互影響と情報漏洩の恐れのある継続的インテグレーション用マシン共有に対するソリューション。
- タイムゾーンの違いや3週間単位のスクラムのスプリントを要因とする,予測不能なマシン利用に対するソリューション。
- 変更が受け入れらた場合のみテストを実行するのではなく,提案された変更すべてに対してテストを実行することが可能。
- 大企業の新規サーバ導入でよく見られるような,高価なオンプレミスアーキテクチャと長いリードタイムに対するソリューション。
DigitalOcean上で無償利用が可能になることは,GitLab.comプロジェクトにとってどのような意味があるのでしょうか?
開発者のプライベートプロジェクトで,いくつものサブスクリプションと契約しなくても,継続的インテグレーションツールが利用できるということです。これまでの継続的インテグレーションツールは非常に高価で,例えば10の並列実行を利用しようとすれば,月550ドルは払わなくてはなりませんでした。それがDigitalOceanのパートナシップによって継続的インテグレーションが無償で利用できるようになったのです。
GitLabでは,DigitalOcean上にRunnerのインストールと設定を行なうための,詳細なインストラクションを用意している。
この記事を評価
- 編集者評
- 編集長対応