yarn watchyarn build
yarn static
yarn deployBuild container locally with Buildpacks
pack build kvaapagarrot-local --builder gcr.io/buildpacks/builder
docker run --rm -p 8080:8080 kvaapagarrot-local
docker stop $(docker ps --filter "ancestor=kvaapagarrot-local" --format "{{.Names}}" --quiet)-
Enable App Engine Admin API for your project.
-
Launch
scripts/setup_gcloud.sh [PROJECT_ID]script OR do a manual setup via Cloud Console:Add Service Account in Cloud Console → IAM & Admin → Service Accounts and assign it the following Roles:
- App Engine Deployer
- App Engine Service Admin (to switch traffic to the new version)
- Cloud Build Service Account (gcloud app deploy requires this)
- Storage Object Viewer
- Storage Object Creator (to upload new files)
- Service Account User (to run operations as a service account)
Create json key and base64-encode it:
base64 ~/Downloads/xxx.json # or openssl base64 -in ~/Downloads/xxx.json | tr -d '\n'
-
Add project secrets in GitHub repo Settings → Secrets:
GCP_SA_EMAIL— Service Account EmailGOOGLE_APPLICATION_CREDENTIALS— base64-encoded Service Account key -
Customize Workflow as needed in
.github/workflows/main.yml(setGCLOUD_PROJECT_ID, etc.) -
Set
LHCI_GITHUB_APP_TOKENto enable Lighthouse CI audit.