【问题标题】:Lerna Monorepos and Travis-CILerna Monorepos 和 Travis-CI
【发布时间】:2018-01-31 08:46:16
【问题描述】:

我需要在 monorepo 中设置Travis, 我找不到资源。

如何为每个包设置 npm deploy?

【问题讨论】:

  • 你用什么来管理你的单声道复制?例如,Lerna@Hitmands
  • 你找到答案了吗?
  • 我最终得到了一个完整的 docker 环境,我的 travis 只应该开始我的多阶段构建过程。但不是,到目前为止我没有发现任何有用的东西。

标签: travis-ci travis-ci-cli


【解决方案1】:

使用travis 设置lerna 存储库:

使用:

$ node -v
v10.14.2
$ npm -v
6.4.1

结构:

packages/
  foo
    index.js
    package.json
    package-lock.json
  bar
    index.js
    package.json
    package-lock.json
package.json
package-lock.json
lerna.json
.travis.yml

package-lock.json 必须包含在所有包中。

package.json

{
  "name": "my-project-name",
  "scripts": {
    "postinstall": "lerna bootstrap",
    "test": "my-testing-script",
    ...
  },
  "dependencies": {
    "lerna": "^3.7.1",
    ...
  }
}

NPM 脚本postinstall 在运行脚本test 之前设置包。有些人全局安装包,但既然你已经在本地安装了,就不需要了。

由于这是主要的package.json,所以你可以把所有的依赖放在dependencies中。

可以根据需要配置包的package.json

lerna.json

{
  "packages": [
    "packages/*"
  ]
}

可以根据需要配置文件。

.travis.yml

language: node_js
node_js:
  - "10.14"
script: npm run test

您可以在此处根据需要配置测试环境。

在我的例子中,我需要使用 babel 转译一些文件,并在运行测试脚本之前使用 before_script 运行此过程。

【讨论】:

    猜你喜欢
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    相关资源
    最近更新 更多