LoginSignup
9
4

More than 1 year has passed since last update.

GCP CloudbuildでTimeoutエラーの対応

Last updated at Posted at 2019-12-10

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



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

9
4
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
9
4