sto*_*uwg 3 directory macos jenkins fastlane
使用Jenkins的fastlane。Jenkins将pwd设置为目录,将其命名为directory1,该目录具有标准的Fastfile和fastlane子文件夹,如下所示:
MacBook-Pro:directory1 user$ tree
??? fastlane
? ??? Deliverfile
?
??? Fastfile
Run Code Online (Sandbox Code Playgroud)
然后,詹金斯从该目录执行fastlane。当使用需要路径的快速通道操作时,如果我使用假定工作目录为directory1的路径,则一切正常。不过,我不明白的是为什么当我通过使用sh操作甚至直接使用Ruby Dir.pwd从fastlane中查询pwd时,都给我值/ MacBook-Pro / directory1 / fastlane而不是正常工作我设置的/ MacBook-Pro / directory1目录。对于这里的目录,fastlane在做什么,我会丢失什么?
当使用.NET运行Shell命令时,Fastlane具有一些时髦的目录行为sh()。解决方法是更改目录,或..在运行诸如shell命令之类的路径之前添加路径pwd。
根据官方文档:
...每个动作和每个插件的代码都在项目的根目录中运行,而Fastfile中的所有用户代码都在./fastlane目录中运行。在将现有代码从Fastfile迁移到自己的操作或插件中时,必须考虑这一点。要手动更改目录,可以使用标准的Ruby块:
Dir.chdir("..") do # code here runs in the parent directory end自从Fastlane成立之初,这种行为就不好了。尽管我们想对其进行更改,但是没有最好的方法来进行更改,而又不破坏数千个生产设置,因此我们决定将其保留为目前状态。
| 归档时间: |
|
| 查看次数: |
1572 次 |
| 最近记录: |