Travis CI in Action

node.js

https://docs.travis-ci.com/user/tutorial/

https://docs.travis-ci.com/user/languages/javascript-with-nodejs/

https://docs.travis-ci.com/user/notifications/

https://docs.travis-ci.com/user/deployment/

https://docs.travis-ci.com/user/deployment/pages/

env

https://docs.travis-ci.com/user/environment-variables

7个钩子

before_install:install 阶段之前执行
before_script:script 阶段之前执行
after_failure:script 阶段失败时执行
after_success:script 阶段成功时执行
before_deploy:deploy 步骤之前执行
after_deploy:deploy 步骤之后执行
after_script:script 阶段之后执行

生命周期

before_install
install
before_script
script
after_success / after_failure
[OPTIONAL] before_deploy
[OPTIONAL] deploy
[OPTIONAL] after_deploy
after_script

Travis-CI demo

https://github.com/xgqfrms-GitHub/Node-CLI-Tools/wiki/Travis-CI

https://github.com/xgqfrms-GitHub/Node-CLI-Tools/blob/master/.travis.yml

demo

language: node_js
node:
- 6.10.3
npm:
- 5.0.2
os:
- windows10 x64 pro

bootstrap

https://github.com/xgqfrms-GitHub/bootstrap/blob/master/.travis.yml

sudo: required
dist: trusty
language: node_js
git:
depth: 10
node_js:
- "0.12"
before_install:
# Remove ./node_modules/.bin from PATH so node-which doesn't replace Unix which and cause RVM to barf. See https://github.com/travis-ci/travis-ci/issues/5092
- export PATH=$(python -c 'from sys import argv;from collections import OrderedDict as od;print(":".join(od((p,None) for p in argv[1].split(":") if p.startswith("/")).keys()))' "$PATH")
- rvm install 2.2
- rvm use 2.2 --fuzzy
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true
- if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export TWBS_DO_VALIDATOR=0; fi
install:
- bundle install --deployment --jobs=1
- cp grunt/npm-shrinkwrap.json ./
- npm install -g grunt-cli
- npm install
cache:
directories:
- node_modules
- vendor/bundle
env:
global:
- NPM_CONFIG_PROGRESS="false"
- SAUCE_USERNAME="bootstrap"
- secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="
- secure: "RKWpS+P20b4tG9tawzCMJSmQftoonmC7tJzyGYiHuEM1TcpHALLBcnzKlr/+DiPTfzDJWY4kS8pxfhK4uXOe8OHnhpMNub7LEWtFPePlZIervOJcsOydaQocTKqVVWD6OUubMeQmQ+tZmvmpjoJ1uPPEbFs9ciF7+dv3U5tLUZ0="
- secure: "XswSKBY0HJ/aO9VOBeWlvGpqSFF/DsJmNKz7o5RkJMJX340qe44J929uUNwwOwlv9YrgptzC2W6l8bpmZQV+p6IYs99SoSA8CCaUfIJaqeU9x/UiT5vIHgqaNax+vFJwvzHLpF5v/ggFqFEKCd54gCDasePLTztHeC4oL104iaQ="
matrix:
- TWBS_TEST=core
- TWBS_TEST=validate-html
- TWBS_TEST=sauce-js-unit
matrix:
fast_finish: true
notifications:
slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH
webhooks:
- http://savage1.twbsapps.com/savage/travis


xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


最新文章

  1. Python正则表达式中的re.S
  2. CentOS 7.0 Nvidia显卡安装步骤
  3. ios transition translate 闪屏问题总结
  4. 使用chrome调试xpath
  5. BZOJ 1131: [POI2008]Sta( dfs )
  6. jemeter逻辑控制器
  7. java中static关键字解析
  8. 用Quick Cocos2dx做一个连连看(一)
  9. MySQL 安装 5.0
  10. bootstrap 基础(一)
  11. Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神
  12. Web端常见问题总结
  13. ios -- 成员变量、实例变量与属性的区别
  14. .Net core使用EF Core Migration做数据库升级
  15. kill -3 获取threaddump信息---转载
  16. vagrant boxes
  17. 【BZOJ4516】【SDOI2016】生成魔咒 [SAM]
  18. 关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码
  19. 网易2017校园招聘算法题c语言实现源码
  20. 压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate

热门文章

  1. Java泛型机制
  2. 安装sqlserver 的时候 报错:无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能。
  3. 基于GTID恢复误篡改数据
  4. 初识 Nginx服务配置
  5. Spark DataSource Option 参数
  6. HaspMap源码分析(JDK 1.8)
  7. Kafka踩坑填坑记录
  8. CCDictionary 用调试器查看问题
  9. Centos8上搭建EMQ MQTT
  10. Pytest(13)命令行参数--tb的使用