无法在 cloudbuild.yaml 文件中设置环境变量

Not able to set environment variable in cloudbuild.yaml file

我试图在 cloudbuild.yaml 文件中设置 env 变量,但它没有被设置。我错过了什么吗?以下是 yaml 文件:

cloudbuild.yaml

steps:
  # Install npm
  - name: "node:10.16.3"
    id: installing_npm
    args: ["npm", "install"]
    dir: "/workspace/API/ground_truth_trigger"
  # Test Cloud Function
  - name: 'node:10.16.3'
    id: run_test_coverage
    dir: '/workspace/API/ground_truth_trigger'
    entrypoint: bash
    env: ['BUCKET_NAME = dummycblbucket', 'AUDIT_BUCKET_NAME = dummyAuditbucket']
    args:
    - '-c'
    - |
      if [[ $BRANCH_NAME =~ ^ground_truth_trigger-[0-9]+-api$ ]]
      then
      npm run test
      fi
    # env:
    # - 'BUCKET_NAME = dummycblbucket'
    # - 'AUDIT_BUCKET_NAME = dummyAuditbucket'

以下是日志:

Step #1 - "run_test_coverage": Already have image: node:10.16.3
Step #1 - "run_test_coverage": 
Step #1 - "run_test_coverage": > ground_truth_trigger@1.0.0 test /workspace/API/ground_truth_trigger
Step #1 - "run_test_coverage": > nyc --reporter=lcov --reporter=text mocha test/unit/*
Step #1 - "run_test_coverage": 
Step #1 - "run_test_coverage": envs  { npm_config_cache_lock_stale: '60000',
Step #1 - "run_test_coverage":   npm_config_ham_it_up: '',
Step #1 - "run_test_coverage":   npm_config_legacy_bundling: '',
Step #1 - "run_test_coverage":   npm_config_sign_git_tag: '',
Step #1 - "run_test_coverage":   npm_config_user_agent: 'npm/6.9.0 node/v10.16.3 linux x64',
Step #1 - "run_test_coverage":    '{"_":["mocha"],"reporter":["lcov","text"],"r":["lcov","text"],"cwd":"/workspace/API/ground_truth_trigger","temp-dir":"./.nyc_output","t":"./.nyc_output","tempDir":"./.nyc_output","exclude":["coverage/**","packages/*/test{,s}/**","**/*.d.ts","test{,s}/**","test{,-*}.{js,cjs,mjs,ts}","**/*{.,-}test.{js,cjs,mjs,ts}","**/__tests__/**","**/{ava,nyc}.config.{js,cjs,mjs}","**/jest.config.{js,cjs,mjs,ts}","**/{karma,rollup,webpack}.config.js","**/{babel.config,.eslintrc,.mocharc}.{js,cjs}"],"x":["coverage/**","packages/*/test{,s}/**","**/*.d.ts","test{,s}/**","test{,-*}.{js,cjs,mjs,ts}","**/*{.,-}test.{js,cjs,mjs,ts}","**/__tests__/**","**/{ava,nyc}.config.{js,cjs,mjs}","**/jest.config.{js,cjs,mjs,ts}","**/{karma,rollup,webpack}.config.js","**/{babel.config,.eslintrc,.mocharc}.{js,cjs}"],"exclude-node-modules":true,"excludeNodeModules":true,"include":[],"n":[],"extension":[".js",".cjs",".mjs",".ts",".tsx",".jsx"],"e":[".js",".cjs",".mjs",".ts",".tsx",".jsx"],"ignore-class-methods":[],"ignoreClassMethods":[],"auto-wrap":true,"autoWrap":true,"es-modules":true,"esModules":true,"parser-plugins":["asyncGenerators","bigInt","classProperties","classPrivateProperties","dynamicImport","importMeta","objectRestSpread","optionalCatchBinding"],"parserPlugins":["asyncGenerators","bigInt","classProperties","classPrivateProperties","dynamicImport","importMeta","objectRestSpread","optionalCatchBinding"],"compact":true,"preserve-comments":true,"preserveComments":true,"produce-source-map":true,"produceSourceMap":true,"source-map":true,"sourceMap":true,"require":[],"i":[],"instrument":true,"exclude-after-remap":true,"excludeAfterRemap":true,"branches":0,"functions":0,"lines":90,"statements":0,"per-file":false,"perFile":false,"check-coverage":false,"checkCoverage":false,"report-dir":"coverage","reportDir":"coverage","show-process-tree":false,"showProcessTree":false,"skip-empty":false,"skipEmpty":false,"skip-full":false,"skipFull":false,"silent":false,"s":false,"all":false,"a":false,"eager":false,"cache":true,"c":true,"babel-cache":false,"babelCache":false,"use-spawn-wrap":false,"useSpawnWrap":false,"hook-require":true,"hookRequire":true,"hook-run-in-context":false,"hookRunInContext":false,"hook-run-in-this-context":false,"hookRunInThisContext":false,"clean":true,"in-place":false,"inPlace":false,"exit-on-error":false,"exitOnError":false,"delete":false,"complete-copy":false,"completeCopy":false,"[=12=]":"node_modules/.bin/nyc","instrumenter":"./lib/instrumenters/istanbul"}',
Step #1 - "run_test_coverage":   NYC_CWD: '/workspace/API/ground_truth_trigger',
Step #1 - "run_test_coverage":   NODE_OPTIONS:
Step #1 - "run_test_coverage":    ' --require /workspace/API/ground_truth_trigger/node_modules/node-preload/preload-path/node-preload.js',
Step #1 - "run_test_coverage":   NODE_PRELOAD_904597faf3dd793b123e0cc47c7e6f55e1b18fb4:
Step #1 - "run_test_coverage":    '/workspace/API/ground_truth_trigger/node_modules/nyc/lib/register-env.js:/workspace/API/ground_truth_trigger/node_modules/nyc/lib/wrap.js',
Step #1 - "run_test_coverage":   NYC_PROCESS_ID: '2403b1ad-d5b2-4715-b9de-abbb54f424cf' }
Step #1 - "run_test_coverage": 
Step #1 - "run_test_coverage": Error: A bucket name is needed to use Cloud Storage.
Step #1 - "run_test_coverage":     at Storage.bucket (/workspace/API/ground_truth_trigger/node_modules/@google-cloud/storage/build/src/storage.js:151:19)
Step #1 - "run_test_coverage":     at /workspace/API/ground_truth_trigger/src/index.js:4:48

你能帮忙吗!

你需要去掉=

前后的space
env: ['BUCKET_NAME=dummycblbucket', 'AUDIT_BUCKET_NAME=dummyAuditbucket']

您可以通过执行

检查 Cloud Build 中的值
  • 环境变量的回显 echo $$BUCKET_NAME。双 $ 需要向 Cloud Build 指示不要替换为替换变量。
  • 使用printenv命令。