views4GCPのストレージサービスについてまとめてみた。Exp:23510闇の戦士です。TrainerTweetShareHatena注意この記事は2018年1月17日に更新されたもので、内容が古い可能性がありますのでご注意ください。Builderというものがあります。Engine)などで容易に利用することができます。なんなら自動化してしまうことも可能ですのでとっても便利です。これらのサービスを簡単に図にすると以下のような関係になります。Builderの使い方を以下の流れで解説します。Builderがソースコードを元にアプリケーションをビルドする様子を見るために、ビルドを必要とするアプリケーションを用意します。今回は以下のバージョンのAngularアプリケーションを利用することにします。CLIがインストールされていれば、次のコマンドでアプリケーションの雛形を作成することができます。いうファイルを利用して、ビルドタスクを定義します。今回は以下のようなステップを記述します。上記のステップをcloudbuild.yamlへ記述すると以下のようになります。Builderのビルドタスクを実行する方法は大きく2つあります。1つは、gcloudコマンドを使用してローカルのソースプログラムから手動で実行する方法です。Repositoriesへの特定のブランチに対するpushをトリガーに実行する方法です。ここではgcloudコマンドを利用する方法を説明します。ここまでの作業で、以下のようなファイル、ディレクトリが存在していることを確認しておきましょう。赤色の2ファイルを新規に追加しました。その他のファイルは、Angularアプリケーションのためのファイルになるので、cloudbuild.yamlとDockerfileをアプリケーションに応じて修正すれば、どのようなファイルでも構いません。tslint.json確認ができたら、以下のコマンドを実行することでビルドタスクが実行されます。.実行の経過が以下のように出力されます。辿ることで、以下の画像のように結果を参照することができます。成功していれば、「イメージ」の中にcloudbuild.yamlで指定した名前とタグを持つDockerイメージが登録されているはずです。作成されたイメージが正しくアプリケーションをホストできるか、ローカルにイメージを落として確認してみましょう。上記画像の中の”cb-sample”をクリックすると、イメージの詳細画面へ遷移でき、PULLコマンドを表示することができます。以下のようなコマンドが表示されます。gcr.io/<project-id>/cb-sample:0.1イメージのpullが確認できたら、ローカルで実行してみましょう。今回はnginxコンテナの80番ポートにアクセスできればいいので、以下のようなdockerコマンドを実行すればいいですね。アクセスし、Angularアプリケーションの雛形が表示されれば成功です。Respositriesへのpushをトリガーとする自動ビルドgcloudコマンドによる手動ビルドの他、Gitリポジトリの特定のブランチへpushされた際に、自動的にビルドを実行することもできます。Repositoriesを利用します。レポジトリの作成方法は割愛しますが、GitHubとの連携も非常に簡単ですので、是非試してみてください。ここからは、この時点でのリモートブランチが作成されていることを前提に話を進めます。自動ビルドのトリガーをContainerRegistryのコンソールから作成します。ソースとリポジトリの選択を、先程作成したGitリポジトリへ設定し、トリガーの設定は「トリガーのタイプ」「ブランチ」「ビルド設定」を以下のように指定しました。これで、該当リポジトリのmasterブランチへpushされた際に、cloudbuild.yamlに基いてDockerイメージのビルドが行われます。詳細なトリガーの作成はこちらからご参照ください。必須ではありませんが、自動ビルドの場合はどのコミットに対して作成されたイメージなのかを判別するために、コミットハッシュをタグ名にするとわかりやすくなります。以下のようにcloudbuild.yamlを修正しておくと良いでしょう。['gcr.io/$PROJECT_ID/cb-sample:$COMMIT_SHA']$PROJECT_IDや$COMMIT_SHAのように、いくつかの変数を環境変数として設定することができます。Engineで使用する方法を解説する予定です。コンテナの入れ替えによるアプリケーションのアップデートを確認しやすくするために、アプリケーションにも何か変更を加えておきましょう。Builder”へ変更しておきます。この状態でコミットをし、リモートブランチにpushします。ビルドが成功し、Dockerイメージが作成されていることができたら、先程と同じように確認してみましょう。Builderの料金はビルドした時間とマシンタイプに応じて課金されます。今回も用いたマシンタイプを指定しなかった場合のデフォルト指定である、n1-standard-1インスタンスに限っては、1日当たり最初の120分のビルドについては無料で利用することができます。無料枠を超過した分については、1分当たり$0.003と非常に安く設定されています。その他の詳しい料金については、こちらをご参照ください。Builderを利用することで、アプリケーションのビルドからDockerイメージの作成までを安価な料金でGCPに任せることができます。DockerコンテナをGCPで利用する場合は欠かせないサービスだと思いますので、是非触ってみてください。Ace)というサービスのコンテナ化も含めたGCPの導入・運用支援サービスを提供しておりますので、ご興味のある方はお問い合わせください。