如何将 PNPM 与 Google Cloud Build 结合使用?

问题描述 投票:0回答:3

我想迁移到 PNPM,但是,我找不到在 Google Cloud 上使用其锁定文件的方法。我当前的

cloudbuild
配置如下:

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

据我所知,这些官方镜像仅支持 Yarn 和 NPM。这里有一个简单的方法可以用 PNPM 替换 Yarn 吗?

我查看了 Cloud Builders GitHub 存储库,但那里也没有 PNPM。

google-cloud-platform gcloud google-cloud-build pnpm
3个回答
5
投票

IIUC App Engine 标准节点运行时要求您使用 npm 或 YARN。因此,在使用标准时,PNPM 不能由用户定义。

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

如果您想将 App Engine 与不同的包管理器一起使用,您可以使用 flex 并定义自定义运行时。这本质上允许您定义要部署到 App Engine 的容器映像,这可以是在

:8080
上公开 httpd 的任何内容。


0
投票

您也许可以使用

pnpm install
,然后使用
npm shrinkwrap
。我认为
gcloud deploy
会忽略
node_modules
中的内容而支持
package-lock.json
,但你可以删除它。

npm i -g pnpm && pnpm i && npm shrinkwrap

那就是

npm shrinkwrap
。有
pnpm shrinkwrap
但会生成 pnpm 风格的锁定文件。


0
投票

你可以使用bash:

- id: Install pnpm
  name: 'node:20'
  script: |
    #!/usr/bin/env bash
    npm install --global [email protected]
    pnpm install
    pnpm test
© www.soinside.com 2019 - 2024. All rights reserved.