[当我运行Jenkins build时,我想将COMMIT_HASH
和BRANCH_NAME
传递到我的一个JavaScript文件:publish.js
,以便可以删除tags
和consumerVersion
的硬编码值。] >
这是我的代码:
[Jenkinsfile
stage('Publish Pacts') { steps { script { sh 'npm run publish:pact -Dpact.consumer.version=${COMMIT_HASH} -Dpact.tag=${env.BRANCH_NAME}' } } }
package.json
"scripts": { "publish:pact": "node ./src/test/pact/publish.js" }
./ src / test / pact / publish.js
let publisher = require('@pact-foundation/pact-node'); let path = require('path'); let opts = { providerBaseUrl: `http://localhost:${global.port}`, pactFilesOrDirs: [path.resolve(process.cwd(), 'pacts')], pactBroker: 'http://localhost:80', tags: ["prod", "test"], // $BRANCH_NAME consumerVersion: "2.0.0" // $COMMIT_HASH }; publisher.publishPacts(opts).then(() => { console.log("Pacts successfully published"); done() });
有人知道该怎么做吗?
[当我运行Jenkins build时,我想将COMMIT_HASH和BRANCH_NAME传递给我的一个javascript文件:publish.js,这样我就可以删除标记和ConsumerVersion的硬编码值。这是我的...
您可以将cli参数传递到结点脚本,该结点以process.argv结尾。npm也通过两个破折号cli arguments传递到--
。