【发布时间】:2016-01-08 16:32:40
【问题描述】:
我正在使用 Travis 将一个 npm 模块发布到 npmjs.org。
.travis.yml的相关部分是:
before_deploy:
- npm version minor
- git config credential.helper "store --file=.git/credentials"
- echo "https://${GH_TOKEN}:@github.com" > .git/credentials
- git push && git push --tags
我看到标签已创建,但对 package.json 的更改没有进入 git 存储库。
查看travis-ci.org的日志,我明白了:
$ npm version minor
v1.3.0
$ git config credential.helper "store --file=.git/credentials"
$ echo "https://${GH_TOKEN}:@github.com" > .git/credentials
$ git push && git push --tags
Everything up-to-date
Counting objects: 6, done.
Delta compression using up to 16 threads.
Compressing objects: 25% (1/4)
Compressing objects: 50% (2/4)
Compressing objects: 75% (3/4)
Compressing objects: 100% (4/4)
Compressing objects: 100% (4/4), done.
Writing objects: 25% (1/4)
Writing objects: 50% (2/4)
Writing objects: 75% (3/4)
Writing objects: 100% (4/4)
Writing objects: 100% (4/4), 411 bytes | 0 bytes/s, done.
Total 4 (delta 2), reused 0 (delta 0)
To https://github.com/Jellyvision/basecamp-api.git
* [new tag] v1.3.0 -> v1.3.0
因此,很明显,对 package.json 的更改没有被添加或提交,因为 push 表明一切都是最新的。
新标签 被推了上去,物有所值。
当我在本地运行 npm version minor 时,我看到新的提交正在按预期生成,所以我猜这是与环境相关的,但我在文档中找不到任何表明 npm version 会以不同方式工作的内容在 CI 环境中。
对这里发生的事情有什么建议吗?
【问题讨论】:
-
@Downvoter:你能告诉我如何改进这个问题吗?
-
谢谢,但是 package.json 在我的存储库的根目录下。
-
我有同样的东西,但在本地。你有没有找到解决办法?