【问题标题】:How to prevent Travis-CI generate yarn.lock OR how to ignore Lerna publish to ignore uncommited changes in working tree如何防止 Travis-CI 生成 yarn.lock 或如何忽略 Lerna 发布以忽略工作树中未提交的更改
【发布时间】:2020-02-22 12:57:12
【问题描述】:

我有一个使用 Lerna 的 monorepo 项目设置,并在所有测试通过后使用 Travis-CI 自动发布金丝雀版本。

问题是,在某些情况下,Yarn 在安装过程中会生成yarn.lock 文件,这会使 Lerna 抱怨未提交的文件并拒绝发布。

我搜索了 Lerna 文档,但找不到跳过未提交的工作树并继续发布的方法。

我没有找到如何设置 Travis 不生成 yarn.lock 文件。

任何帮助将不胜感激

我的 Travis 配置文件如下:

language: node_js
node_js:
  - 10
before_deploy: 
  - printf "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> ~/.npmrc
deploy:
  skip_cleanup: true
  provider: script
  script: yarn publish_canary
  on:
    node: stable
    branch: master

【问题讨论】:

  • 你试过在lerna.json中使用command.publish.ignoreChanges吗?

标签: javascript continuous-integration travis-ci continuous-deployment lerna


【解决方案1】:

我遇到了同样的问题,我发现 yarn 带有 --frozen-lockfile,它可以防止生成锁定文件,并且在需要更新时失败(我读过它是 --pure-lockfile 的更好替代品,因为这个不会如果配置漂移失败....reference)。

【讨论】:

    猜你喜欢
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2020-11-26
    • 2018-04-07
    • 2015-02-09
    • 1970-01-01
    相关资源
    最近更新 更多