Lerna Monorepos和Travis-CI

时间:2018-01-31 08:46:16

标签: travis-ci travis-ci-cli

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

如何为每个包设置npm部署?

2 个答案:

答案 0 :(得分:1)

要使用lerna来建立travis存储库:

使用:

$ 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来运行此过程。

答案 1 :(得分:-2)

特拉维斯documentation on npm releases。这是你的意思吗?