Help us understand the problem. What is going on with this article?

GCP CloudbuildでTimeoutエラーの対応

GCPのCloudbuildはタイムアウト時間のデフォルトが10分となります。
特に指定しない場合、10分以上かかるビルドはタイムアウトエラーとなります。

それを解決するため、timeoutだけを指定したら済みます。
ただし、いくつか注意はあります。

  • timeoutは最大24時間(1日)で指定できます。
  • Cloudbuildスクリプトがモジュール化される場合、モジュールごとに指定しないといけない。片方だけ指定する場合、残りのモジュールはタイムアウト10分のデフォルトのままとなります。

サンプルを投稿致します。

フォルダ構成

cloudbuild_timeout
├── _base
│   └── cloudbuild.matlab.R2019b.yaml
├── dev
│   └── cloudbuild.matlab.R2019b.yaml
└── dockerfile
    └── Dockerfile.matlab.R2019b

dev → _baseをコールする構成となっています。
この場合は両方のスクリプトで timeoutを指定します。

dev/cloudbuild.matlab.R2019b.yaml
steps:
- name: 'gcr.io/cloud-builders/gcloud'
  args: [
      'builds', 
      'submit',
      '--config=_base/cloudbuild.matlab.R2019b.yaml',
      '--substitutions=_GCR_PROJECT=project-abc123,_GCR_REGION=asia.gcr.io',
      '.'
  ]
timeout: 3600s
_base/cloudbuild.matlab.R2019b.yaml
steps:

# docker build
- name: 'gcr.io/cloud-builders/docker'
  dir: .
  args: [
         'build',
         '-t', '${_GCR_REGION}/${_GCR_PROJECT}/${_GCR_IMAGE_NAME}:${_GCR_TAG}',
         '-f', 'dockerfile/Dockerfile.matlab.R2019b',
         '--cache-from', '${_GCR_REGION}/${_GCR_PROJECT}/${_GCR_IMAGE_NAME}:${_GCR_TAG}',
         '.'
        ]

- name: 'gcr.io/cloud-builders/docker'
  args: ["push", '${_GCR_REGION}/${_GCR_PROJECT}/${_GCR_IMAGE_NAME}']

timeout: 3600s

substitutions:
  # # Image name
  _GCR_IMAGE_NAME: matlab-r2019b
  # # Image tag
  _GCR_TAG: latest
  # # KMS Key location to decrypt private key



ご覧して頂き、どうも有難う御座います!
DevSamurai Ben

bendevs
Benは10年システム開発経験、現在DevSamurai株式会社のシステムエンジニアとしてクラウド(GCP、AWS)上にシステム構築を担当しております。
dev-samurai
GCPクラウド技術を中心に取り扱う技術者集団
https://www.devsamurai.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした