GCP cloudbuild.yaml 在"'/workspace/package.json'"中触发 npm,但需要"'/workspace/ui/package.json'"



配置Cloud Build来构建和测试Node.js,但出现错误。

cloudbuild.yml文件的代码片段

steps:
- id: 'APP INSTAL NPM'
name: node:$_NODE_VERSION
entrypoint: npm
args: ['install', '--prefix ./ui']
- id: 'APP BUILD PROCESS WITH NODE NPM'
name: node:$_NODE_VERSION
entrypoint: npm
args: ['run', 'build', '--prefix ./ui']
timeout: 6000s # 20 minute

git-reop在ui目录中我有一个应用程序,所以添加-前缀仍然会得到这个错误

步骤#1-";使用节点NPM的APP构建过程":npm ERR!代码ENOENT

步骤#1-";使用节点NPM的APP构建过程":npm ERR!系统调用打开

步骤#1-";使用节点NPM的APP构建过程":npm ERR!path/workspace/package.json

步骤#1-";使用节点NPM的APP构建过程":npm ERR!错误号-2

步骤#1-";使用节点NPM的APP构建过程":npm ERR!enoent enoent:没有这样的文件或目录,打开"/workspace/package.json">

步骤#1-";使用节点NPM的APP构建过程":npm ERR!enont这与npm找不到文件有关。

对于那些遇到这个问题的人,GCP云构建有一个dir字段来设置工作目录。这个片段应该有效:

steps:
- id: 'APP INSTAL NPM'
name: node:$_NODE_VERSION
dir: 'ui'
entrypoint: npm
args: ['install']
- id: 'APP BUILD PROCESS WITH NODE NPM'
name: node:$_NODE_VERSION
dir: 'ui'
entrypoint: npm
args: ['run', 'build']

最新更新