【发布时间】:2020-03-15 06:49:15
【问题描述】:
我们的 iOS 存储库中有一个 .xcode-version 文件,fastlane 使用该文件来确保使用正确的版本来构建项目。不同的分支需要不同版本的 Xcode 来构建,不同的节点安装了不同版本的 Xcode。 (我们确实每个节点都安装了多个 Xcode,但有时安装新版本的 Xcode 会破坏旧的安装,这就是为什么我们不会一次更新所有这些。)所以每个节点不能构建每个分支,我们需要根据该分支的.xcode-version 中的内容选择节点。
有一点先有鸡还是先有蛋的问题,因为直到选择了节点之后才会签出该文件。但是,考虑到 Jenkins 在选择节点和执行管道之前检查了Jenkinsfile,这应该不是问题。我不明白为什么任何文件都不能做到这一点。
如何从管道中的 git 签出任意文件并根据其内容做出任意决定(例如节点选择)?
【问题讨论】:
-
你找到成功了吗?
-
很抱歉没有早点跟进。我还没有尝试过,因为有一些更高优先级的工作。这只是一个问题,直到所有节点都升级完毕,所以由于现在所有节点都升级了,这暂时不是优先事项。