travis-ci学习记录
本文最后更新于:2021/02/15 , 星期一 , 22:06
名词解释大部分均为机器直翻,部分稍加个人理解
名词解释
- job:一个自动化的过程,克隆存储库到一个虚拟环境,然后执行一系列的phases,如编译代码,运行测试等。如果
script
阶段的返回代码非零,则作业失败。 - phase:job的连续步骤。例如,
install
阶段在script
阶段之前,script
阶段在可选的deploy
阶段之前。 - build:按顺序运行的一组job。例如,一个build可能有两个job,每个job用不同版本的编程语言测试一个项目。当所有的job都完成时,build就结束了。
- stage:build stages是对job进行分组的一种方法,并且在每个stage中并行运行job,但是要按顺序运行stage。
生命周期
apt addons
- 可选,用来添加apt源、apt包等cache component
- 可选,用来设置缓存不经常更改的东西,加快构建速度before_install
- 在install
之前install
- 安装需要的依赖,可以指定自己的脚本来安装依赖,否则取决于语言before_script
- 在script
之前script
- 运行构建脚本before_cache
- 可选,当切仅当缓存生效时after_success
或after_failure
- 当构建成功/失败后,结果保存在TRAVIS_TEST_RESULT
环境变量中。before_deploy
- 可选,当且仅当部署处于活动状态deploy
- 可选,部署after_deploy
- 可选,当且仅当部署处于活动状态after_script
- 在script
之后
中断构建
- 如果
befor_install
、install
和before_script
返回一个非0的退出码,则构建出错并且立即退出。 - 如果
script
返回非零退出码,则构建失败,但在被标记为失败之前继续运行。 after _ success
、after _ failure
、after _ script
、after _ deploy
和后续阶段的退出代码不影响构建结果。但是,如果其中一个阶段超时,构建将被标记为失败。
实践遇到的问题记录
按照发布npm配置一个最简单的npm发布。
在配置中并未配置test阶段,但是travisCI会默认在执行完 npm install
即 install
阶段后执行 npm run test
。一开始我在 package.json
配置的 "test": "npm run test is running!",
。看travis中的日志发现一直死循环在执行 npm run test
,原来这个在里面会转换成相应的命令,想输出配置信息应该 "test": "echo \" ci run success \""
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!