为什么fastlane工作目录不同于我设置的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么fastlane工作目录不同于我设置的相关的知识,希望对你有一定的参考价值。
使用Jenkins的fastlane。 Jenkins将pwd设置为一个目录,让我们称之为directory1,它具有标准的Fastfile和fastlane子文件夹,如下所示:
MacBook-Pro:directory1 user$ tree
├── fastlane
│ ├── Deliverfile
│
├── Fastfile
Jenkins然后从该目录执行fastlane。当使用需要路径的fastlane动作时,如果我使用假设工作目录是directory1的路径,那么一切正常。我不明白的是,为什么当我从fastlane查询pwd时,无论是使用sh动作还是直接使用Ruby Dir.pwd,两者都给我值/ MacBook-Pro / directory1 / fastlane而不是工作目录我设置/ MacBook-Pro / directory1。关于fastlane对这里的目录做了什么,我有什么遗漏?
当使用sh()
运行shell命令时,Fastlane有一些时髦的目录行为。解决方法是在运行..
等shell命令时更改目录,或在pwd
前面添加路径。
...每个动作和每个插件的代码都在项目的根目录中运行,而Fastfile中的所有用户代码都在./fastlane目录中运行。将现有代码从Fastfile迁移到您自己的操作或插件时,这一点很重要。要手动更改目录,可以使用标准Ruby块:
Dir.chdir("..") do # code here runs in the parent directory end
这种行为并不是很好,而且自快车道的早期以来就一直如此。尽管我们想改变它,但是没有好的方法可以做到这一点,而且不会破坏成千上万的生产设置,因此我们决定暂时保留它。
以上是关于为什么fastlane工作目录不同于我设置的的主要内容,如果未能解决你的问题,请参考以下文章
内部版本号不是由 fastlane 设置的,而是由 Xcode 设置的
Fastlane Gym 配置 Ad Hoc Distribution
VSTS Task Apple App Store 要求提供 2FA 代码,但设置了 Fastlane Session 和 App-Specific