拙い気持ちのアウトプット

私の気持ちをアウトプットする場所にしようと思っています

Google Cloud Build Day に参加して

gcpug-tokyo.connpass.com

こちらに参加してきました

cloud.google.com

Google Cloud BuildはGoogle Cloud PlatformのCI/CDサービスですね

使ったことはないです…やらなきゃ

内容は比較的優しく(?)てどのトークも非常に面白かったです

設定ファイルがシンプルに書きやすそうで、とっつきやすい印象を受けました

今の業務でCIちゃんと触れていないので、個人でしっかりやっていかないと…

あたりは最低限押さえておかないとと思いつつ

  • GitLab CI
  • Bitrise
  • Travis CI
  • Jenkins

あたりもあるので、大変ですね…

社内でソロもくもく会を計画しているので、そこでTRYしていこうと目論んでいます


以下メモです

マルチアーキテクチャイメージの作成

@ymotongpoo

GCP上のCI/CD実行サービス

  • docker in docker 風?
  • serverless
  • ビルド実行時間に応じて課金

無料枠が月120分?あるので、artifact作らないようなものなら試しに使ってみてもいいかもしれない

基本的なビルド構成ファイルの作成

stepsでビルドステップを記述していく

クラウド ビルダー 色々ある

ローカルでのビルドとデバッグ macならローカルでもbuildが試せる

独立した各stepsの並行実行が可能

参考: https://github.com/ymotongpoo/gcpug-cloud-build-day/blob/master/cloudbuild.yaml

waitFor で依存するstepsを指定できる ※ waitFor: ['-'] は依存するstepsがないという意味

Cloud Build out of steps

@apstndb

KIND: k8s in docker

stepsでは docker run が動くので、コンテナが動くVMの環境が結構見れる

/var/run/docker.sock をマウントしてコンテナから使っているので、 docker in docker とはちょっと違う

steps同士で通信するには?

step0でnginx起動 -> step1で dockerize 起動してポート監視 -> step2で起動確認したらcurl で可能ではある

dockerize を使って他のコンテナ内サービス起動を待つ

本番環境のk8sマニフェストを使ってE2Eテストしたい(テスト用の管理したくない)

そこで KIND kind (Kubernetes in Docker) を試してみる

KIND on Cloud Buildは可能なのか?

結論としては可能 だが、Cloud Buildのstepsからは完全に外れてしまう -> 今後に期待

Cloud Buildを気軽なコンテナ実行環境として利用する

@chidakiyo

BerglasとCloud Buildを使って秘密情報をセキュアに(できるかも)

Cloud Buildでできること

  • 作成した Docker Image をGCR(Google Container Registory)にアップする
  • テスト結果などをartifactとしてGCS(Google Cloud Storage)にアップ
  • 単にコンテナ実行環境として利用する

無料枠があり、気軽にgcloudコマンドが使える

何でもCloud Buildでできそうな気がしてくる… (e.g. GAS

LT

BerglasとCloud Buildを使って秘密情報をセキュアに(できるかも)

Berglas

GCPの新しいシークレット管理ツール、Berglasを使ってみる

dockerのdaemonとかなくてもberglasのイメージでビルドとかできて嬉しいらしい

Cloud Build / TerraformでインフラCI/CD

Official: Terraform Cloud Builder

cloudbuild.yamlリポジトリ外に置きたい(アプリケーションのコミットログが汚れる)