Travis CI测试是否在同一阶段在同一实例中进行?

时间:2019-04-18 15:45:06

标签: travis-ci

在Travis文档中,它指出private static T ProcessBsonConversion<T>(BsonDocument data) { var content = data.GetElement("_v"); var jsonDataContent= content.Value.AsBsonValue.ToJson(); return Newtonsoft.Json.JsonConvert.DeserializeObject<T>(jsonDataContent); }

我知道一个阶段中的所有作业都是并行运行的,但是这些测试是否在同一实例中运行,即它们共享相同的env变量吗?

说我一个阶段要进行3个测试。

Build stages is a way to group jobs, and run jobs in each stage in parallel, but run one stage after another sequentially.

如果我在test1中设置了- stage: 'Tests' name: 'Test1' script: ./dotest1 - name: 'Test2' script: ./dotest2 - name: 'Test3' script: ./dotest3 ,它是否会延续到test2?它们并行运行似乎不应该正确吗?如果是这样,我可以设置一个阶段范围的env变量,还是应该在每次运行新测试时都进行设置?

1 个答案:

答案 0 :(得分:1)

否,作业都在新容器上运行,因此作业过程中无法共享任何内容。如果您需要它们之间的某种持久性,Travis要求您使用外部存储系统,例如S3。在此处详细了解:https://docs.travis-ci.com/user/build-stages/#data-persistence-between-stages-and-jobs

我将为每个作业设置环境变量,也许使用YAML锚作为默认值:https://gist.github.com/bowsersenior/979804