0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【GCP】CloudBuild 設定

Last updated at Posted at 2022-01-10

最近、cloudbuild での設定で使ったtips をメモします。

背景としては、自分でとあるオープンソースをCloudCuild で docker build するのに30分近くかかってしまいました。そのとき

  • timeout の設定
  • ビルドに使用するコアをパワーアップさせる

ということができるこを知ったのでメモしておきます。

Timeout

注意するのは、各ステップと全体の2か所でtimeout の設定があるということ。こちらにある解説 が分かり易い。感謝。

cloudbuild.yaml
build:
  steps:
    - id: main
      name: my-builder-image
      entrypoint: bash
      timeout: 600s
      args:
        - /workspace/build.sh
        - ${BRANCH_NAME}
        - ${COMMIT_SHA}
        - ${SHORT_SHA}
  timeout: 600s

全体のtimeoutはコマンドラインから実行するときもgcloud builds submit --timeout=900s ...で指定できるらしい。

machine type

使用するマシンを選べるようです。Cloud Build pricingのページにマシンの型と料金が書かれています。

Machine type Virtual CPUs Memory Price (USD)
e2-medium 1 4GB $0.003 / build-minute. First 120 builds-minutes per day are free.
e2-highcpu-8 8 8GB $0.016 / build-minute
e2-highcpu-32 32 32GB $0.064 / build-minute

cloud build の設定ファイルは以下のように書いたら、ビルドの時間は短くなった。ので効果は分かる。でもお金少しかかりそうなので、普段は使わない方がいいのかな。

options:
  machineType: 'E2_HIGHCPU_8'

Logging

別のところで、CloudBuild で以下のエラーに出くわす。build を始めてもらえない。

image.png

ここでは(b)で解決しました。、実は設定したサービスアカウントがLogging への権限を持っていないことが原因だったようです。

options:
  logging: CLOUD_LOGGING_ONLY

としました。参考にした記事は下記。

まとめ

とりあえずGCPのCloudBuildの使い方のメモとして書きました。GithubActions よりこちらの方がコストはかからなそうなので、個人ではこちらを使う方が良いのかな。
(2021/01/10)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?