1

这是我关于如何让 lerna 在 Jenkins 中运行的一系列问题的一部分。

以前的问题:

詹金斯上的 lerna 发布“git 远程更新”失败“无法从远程存储库读取。”

> lerna publish --yes --cd-version=patch

lerna info version 3.0.0-beta.17
lerna info versioning independent
lerna ERR! Error: Command failed: git rev-list --left-right --count origin/heads/origin/master...heads/origin/master
lerna ERR! fatal: ambiguous argument 'origin/heads/origin/master...heads/origin/master': unknown revision or path not in the working tree.
lerna ERR! Use '--' to separate paths from revisions, like this:
lerna ERR! 'git <command> [<revision>...] -- [<file>...]'
lerna ERR! 
lerna ERR! 
lerna ERR!     at makeError (/var/lib/jenkins/workspace/abide/node_modules/@lerna/child-process/node_modules/execa/index.js:169:9)
lerna ERR!     at Function.module.exports.sync (/var/lib/jenkins/workspace/abide/node_modules/@lerna/child-process/node_modules/execa/index.js:338:15)
lerna ERR!     at Object.execSync (/var/lib/jenkins/workspace/abide/node_modules/@lerna/child-process/index.js:21:16)
lerna ERR!     at Object.isBehindUpstream (/var/lib/jenkins/workspace/abide/node_modules/@lerna/git-utils/index.js:209:48)
lerna ERR!     at PublishCommand.initialize (/var/lib/jenkins/workspace/abide/node_modules/@lerna/publish/index.js:92:24)
lerna ERR!     at Promise.resolve.then (/var/lib/jenkins/workspace/abide/node_modules/@lerna/command/index.js:228:24)
lerna ERR! lerna Command failed: git rev-list --left-right --count origin/heads/origin/master...heads/origin/master
lerna ERR! lerna fatal: ambiguous argument 'origin/heads/origin/master...heads/origin/master': unknown revision or path not in the working tree.
lerna ERR! lerna Use '--' to separate paths from revisions, like this:
lerna ERR! lerna 'git <command> [<revision>...] -- [<file>...]'
lerna ERR! lerna 
lerna ERR! lerna 
npm ERR! code ELIFECYCLE
npm ERR! errno 128
npm ERR! abide@1.0.0 publish: `lerna publish --yes --cd-version=patch`
npm ERR! Exit status 128
npm ERR! 
npm ERR! Failed at the abide@1.0.0 publish script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/lib/jenkins/.npm/_logs/2018-04-24T05_32_38_890Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 128
npm ERR! abide@1.0.0 jenkins: `npm run versions && npm run test && npm run publish`
npm ERR! Exit status 128
npm ERR! 
npm ERR! Failed at the abide@1.0.0 jenkins script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/lib/jenkins/.npm/_logs/2018-04-24T05_32_38_901Z-debug.log
4

1 回答 1

3

您必须在 monorepo 中进行初始提交才能使其正常工作。您还需要有一个干净的工作树:

$ git add *
$ git commit -m "bootstrap lerna"

如果您键入,该错误也会发生在 repo 中git rev-parse HEAD。在你第一次提交之后,你会发现这不再失败。

于 2018-10-01T10:37:53.180 回答