コンテンツに移動
Google Cloud

GitLab から Kubernetes Engine へのデプロイが数クリックで可能に

2018年5月25日
Google Cloud Japan Team

GitLab はクラウド開発者の間で人気の高い DevOps ライフサイクル ツールです。GitLab を使用すれば、プロジェクト計画やバージョン管理から CI/CD パイプライン、モニタリングまで、すべての作業を 1 つのインターフェースで行うことができ、異なる機能を担うチーム間でも連携がスムーズです。特に Auto DevOps 機能は、アプリケーション作成に使われている言語を特定し、自動的に CI/CD パイプラインを構築してくれます。

Google Cloud は、Kubernetes を開発して 2014 年にオープンソース化し、このクラウド ネイティブ技術への取り組みを開始しました。Kubernetes には、Google サービスを支える大規模な本番環境でコンテナ化ワークロードを 10 年以上にわたって実行してきた経験が生かされています。

Kubernetes Engine は Google のマネージド Kubernetes サービスです。オープンソースの Kubernetes プロジェクトに最も貢献しているチームによって開発され、経験豊富な Google SRE によって運用されています。Kubernetes Engine のお客様は最も得意なこと、つまりユーザーを喜ばせるアプリケーションの構築に集中でき、クラスタのデプロイ オペレーションは Google が担当します。

このたび GitLab と Google Cloud は、GitLab と Kubernetes Engine の新たなインテグレーションを発表しました。GitLab がサポートする DevOps パイプラインから、Google が管理する Kubernetes クラスタをプロビジョニングし、アプリケーションのデプロイを簡単にスピードアップできるようにしました。

お客様は Kubernetes Engine クラスタを GitLab プロジェクトに数クリックで接続し、これを使って継続的インテグレーション ジョブを実行し、完全な継続的デプロイ パイプラインを構成できるようになりました。その中には、変更のライブ プレビューや、本番環境への変更のデプロイが含まれます。これらはすべて Kubernetes Engine でサービスとして実行されます。

GitLab にアクセスし、リポジトリの CI/CD オプションから最初の Kubernetes Engine クラスタをプロジェクトに追加してみましょう。

Kubernetes Engine クラスタは、GitLab UI の CI/CD -> Kubernetes メニュー オプションから 追加できます。GitLab UI は新しい Kubernetes クラスタの作成もサポートしています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1gobx.max-700x700.max-700x700.png

Kubernetes Engine クラスタを接続したら、GitLab Runner をクラスタにデプロイします。これは、継続的インテグレーション ジョブが Kubernetes Engine クラスタで実行され、お客様が割り当てるリソースをきめ細かく管理できるということです。詳細は GitLab Runner のドキュメントをご覧ください。

さらにエキサイティングなのは、GitLab の Auto DevOps と Kubernetes Engine の連携です。Auto DevOps と Kubernetes Engine を組み合わせて使用すると、マージ リクエストがあるたびに継続的デプロイ パイプラインが自動的にレビュー アプリを作成します。この特別な動的環境により、変更を本番環境への反映前にプレビューできます。マージを行ったら、準備が整った Kubernetes Engine 上の本番環境にアプリケーションをデプロイできます。

この機能を使用するには、CI/CD -> General pipelines settings メニューで “Enable Auto DevOps” を選択します。詳細は Auto DevOps のドキュメントをご覧ください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image23sq4.max-700x700.max-700x700.png

Auto DevOps は、アプリケーション作成に使われている言語の特定という難作業をこなし、CI/CD パイプラインを構成します。このパイプラインの結果として、Kubernetes Engine クラスタでアプリケーションが実行されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image340oe.max-700x700.max-700x700.png

以上により、お客様がマージ リクエストを作成するたびに、GitLab はレビュー パイプラインを実行し、レビュー アプリをクラスタにデプロイします。お客様はそこで変更を実地にテストできます。お客様がコードをマージすると、GitLab は本番パイプラインを実行し、アプリケーションを Kubernetes Engine 上の本番環境にデプロイします。

Kubernetes にデプロイしてみたくなりましたか? GitLab はGoogle Cloud Platform で使える 500 ドル分のクレジットを新しいアカウント向けに提供しています。ぜひお試しください。

* この投稿は米国時間 4 月 5 日、Google Kubernetes Engine のProduct Manager である William Denniss と、GitLab の Senior Product Marketing Manager である William Chia によって投稿されたもの(投稿はこちら)の抄訳です。

- By William Denniss, Product Manager, Google Kubernetes Engine, and William Chia, Senior Product Marketing Manager, GitLab

投稿先