travis-ci - 同一阶段的 Travis CI 测试是否发生在同一实例中?
问题描述
在 Travis 文档中,它指出Build stages is a way to group jobs, and run jobs in each stage in parallel, but run one stage after another sequentially.
我知道一个阶段中的所有作业都是并行运行的,但是这些测试是否在同一个实例中运行,即它们是否共享相同的环境变量?
假设我在一个阶段有 3 个测试。
- stage: 'Tests'
name: 'Test1'
script: ./dotest1
-
name: 'Test2'
script: ./dotest2
-
name: 'Test3'
script: ./dotest3
如果我export $bleh_credential=$some_credential
在 test1 中设置,它会转移到 test2 吗?似乎不应该,因为它们并行运行,对吗?如果是这种情况,我可以设置一个阶段范围的环境变量,还是应该在每次运行新测试时设置它们?
解决方案
不,作业都在新容器上运行,因此作业过程中的任何内容都不能共享。如果您需要它们之间的持久性,Travis 要求您使用像 S3 这样的外部存储系统。在此处阅读更多相关信息:https ://docs.travis-ci.com/user/build-stages/#data-persistence-between-stages-and-jobs
我会为每个作业设置环境变量,可能使用 YAML 锚作为默认值:https ://gist.github.com/bowsersenior/979804
推荐阅读
- handlebars.js - 使用车把选择带有多个复选框的下拉菜单
- javascript - 如何从只知道关键字的字符串中搜索一行然后删除它?
- sql - 如何获取未连接到其他记录的记录
- rules - 从 SnakeMake 中的另一个 .smk 文件获取输入函数
- sdn - 使用 POX 控制器捕获实时流量中的 FIN 数据包
- visual-studio-code - 如何在VSCode中递归搜索不同目录中的文件?
- messagebird - 如何使用 messagebird WhatsApp Business API 通过 nodeJs 重播对话?
- python - 从 Django/Python 中的 JSON 文件中获取第一个值
- css - Set margin equivalent to transform scale
- apache-kafka - 错误执行 Kafka Connect for Elastci Search 第 7 批记录时遇到非法文档错误