具有多个文件夹的存储库的Travis CI配置是什么

时间:2019-02-20 08:22:28

标签: javascript node.js github yaml travis-ci

我有一个包含2个子文件夹的存储库,每个子文件夹中都有一个不同的应用程序。我想在每个子文件夹中进行一个.travis.yml配置,并执行以下操作:

  • cd subfolder1
  • npm install
  • npm test
  • npm run build

对第二个文件夹执行相同的操作

  • cd subfolder2
  • npm install
  • npm test
  • npm run build

我找不到与此设置有关的任何内容。有人可以帮帮我吗? 任何想法将不胜感激!

这是我当前仅针对一个子文件夹的配置设置:

before_install
- cd subfolder 1
language: node_js
node_js:
  - "stable"
cache:
  directories:
    - "$HOME/.npm"
script:
  - npm test
  - npm run build
on:
  branch: master

2 个答案:

答案 0 :(得分:1)

您可以将所有这些步骤添加到生命周期挂钩中,例如before_install

before_install
  - cd ./subfolder1
  - npm install
  - npm test 
  - npm run build
  - cd ./subfolder2
  - npm install
  - npm test 
  - npm run build

您也可以在script部分中测试和构建这两个项目的一部分,但想法是您需要管理自己执行的动作序列。这将使install阶段只是一个占位符。

答案 1 :(得分:1)

在阅读@tbking的答案后,我想到了一个运行良好的配置文件。

language: node_js
node_js:
  - "stable"
cache:
  directories:
    - "$HOME/.npm"
matrix:
  fast_finish: true
  include:
    - env: ECMAScript
      before_script:
        - cd ${TRAVIS_BUILD_DIR}/templates/ECMAScript
        - npm install
      script:
        - npm test
        - npm run build
    - env: TypeScript
      before_script:
        - cd ${TRAVIS_BUILD_DIR}/templates/TypeScript
        - npm install
      script:
        - npm test
        - npm run build
on:
  branch: master