无法在 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
命令。
我试图在 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
你能帮忙吗!
你需要去掉=
前后的spaceenv: ['BUCKET_NAME=dummycblbucket', 'AUDIT_BUCKET_NAME=dummyAuditbucket']
您可以通过执行
检查 Cloud Build 中的值- 环境变量的回显
echo $$BUCKET_NAME
。双 $ 需要向 Cloud Build 指示不要替换为替换变量。 - 使用
printenv
命令。