Search code examples
google-cloud-platformgcloudgoogle-cloud-buildpnpm

How to use PNPM with Google Cloud Build?


I'd like to migrate to PNPM, however, I can't find a way to use its lockfile on Google Cloud. My current cloudbuild config is the following:

steps:
- name: "gcr.io/google.com/cloudsdktool/cloud-sdk:latest"
  entrypoint: 'gcloud'
  args: ["app", "deploy"]
timeout: "1600s"

Afaik these official images only support Yarn and NPM. Is there an easy way to replace Yarn with PNPM here?

I looked on the Cloud Builders GitHub repo, but there's no PNPM there either.


Solution

  • IIUC the App Engine standard Node runtime(s) require that you use npm or yarn. PNPM is thus not user-definable when using standard.

    https://cloud.google.com/appengine/docs/standard/nodejs/specifying-dependencies

    If you want to use App Engine with a different package manager you could use flex and define a custom runtime. This essentially allows you to define a container image to deploy to App Engine and this may be anything that exposes an httpd on :8080.