Skip to content

Instantly share code, notes, and snippets.

@Na0ki
Created February 17, 2025 23:59
Show Gist options
  • Save Na0ki/ad9e6ffd4e5e17d29d3245c4d734a33c to your computer and use it in GitHub Desktop.
Save Na0ki/ad9e6ffd4e5e17d29d3245c4d734a33c to your computer and use it in GitHub Desktop.
precompile-assetsフェーズでpermissionエラーパターン
steps:
- id: install-deps
name: node:22.14.0
entrypoint: npm
args:
- ci
- id: build-bundle
name: node:22.14.0
entrypoint: npm
args:
- run
- build:prod
# Cloud Storageにアップロードする
# cloudbuild.ymlにおけるartifacts/objectsでの指定だとgsutilが使われる上にrecursiveに対応できないため、
# recursiveも使えてgsutilよりもパフォーマンスが高いとされる `gcloud storage cp -R` を使うためにcloud-sdkを使ったステップで対応
# https://cloud.google.com/blog/products/storage-data-transfer/new-gcloud-storage-cli-for-your-data-transfers?hl=en
- id: upload-bundle
name: gcr.io/google.com/cloudsdktool/cloud-sdk:slim
entrypoint: gcloud
args:
- storage
- cp
- -R
- ./dist/webpack
- gs://[BUCKET_NAME]
- id: build-container
name: gcr.io/cloud-builders/docker
args:
- build
- -t
- asia-northeast1-docker.pkg.dev/$PROJECT_ID/[APP_NAME]/[IMAGE_NAME]:$SHORT_SHA
- -f
- Dockerfile.default
- '.'
- id: precompile-assets
name: 'gcr.io/cloud-builders/docker'
args:
- run
- -e
- SECRET_KEY_BASE=precompile_placeholder
- -v
- /workspace/assets-output:/rails/public/assets
- asia-northeast1-docker.pkg.dev/$PROJECT_ID/[APP_NAME]/[IMAGE_NAME]:$SHORT_SHA
- bundle
- exec
- rake
- assets:precompile
- id: upload-assets
name: gcr.io/google.com/cloudsdktool/cloud-sdk:slim
entrypoint: gcloud
args:
- storage
- cp
- -R
- /workspace/assets-output/*
- gs://[BUCKET_NAME]/assets
images: ['asia-northeast1-docker.pkg.dev/$PROJECT_ID/[APP_NAME]/[IMAGE_NAME]:$SHORT_SHA']
options:
# https://cloud.google.com/build/docs/securing-builds/store-manage-build-logs?hl=ja
logging: CLOUD_LOGGING_ONLY
machineType: E2_HIGHCPU_32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment