我的travis文件包含两个阶段:
-
test
,它运行为多个node.js版本(and Works)
运行/测试 -
deploy
,应在满足以下条件时运行构建并将代码部署到NPM:branch = master AND tag IS present AND type = push
我将标记的提交提交给主人(因此应满足所有三个条件),但是在test
阶段成功完成后,deploy
阶段未启动。
这是我的.travis.yml
文件的其他部分(可能很重要的)部分:
language: node_js
node_js:
- '8'
- '9'
- '10'
#- '11' # Runs the coverage report (added below)
before_script: npm run build
script:
- npm run lint
- npm run coverage
jobs:
include:
- stage: test
node_js: '11'
after_success: 'cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js'
- stage: deploy
node_js: '11'
script: skip
deploy:
provider: npm
# ...
stages:
- test
- name: deploy
if: branch = master AND tag IS present AND type = push
我在将这些行添加到我的travis文件后发现了它:
echo "$TRAVIS_EVENT_TYPE" # result: push
echo "$TRAVIS_TAG" # result: v0.14.0
echo "$TRAVIS_BRANCH" # result: v0.14.0
,当设置标签时,将分支设置为标签名称。我还发现了有关环境变量文档的提示:
请注意,对于标签,Git不会存储标记提交的分支。
奇怪的是,您仍然可以在部署条件下检查分支。所以这对我有用:
# ...
deploy:
provider: npm
# ...
on:
tags: true
branch: master
stages:
- test
- name: deploy
if: type = push