ruby - 从另一个目录调用 fastlane 及其操作
问题描述
我正在开发一个 ruby 项目,目前它的目的是自动化 iOS 项目的部署过程。以后会考虑android。
ruby 部署文件将采用 JSON url,其中包含有关打算发布的应用程序的信息。Fastlane 行动将完成这项工作。
{
"version":1.0,
"build":2,
"git":{
"name":"appName",
"url":"git@gitlab.com:me/myapp.git"
},
"apps":[
{
"bundle_id":"com.myapp1",
"app_name":"App1",
"username":"me@kmail.com",
"password":"1234",
"team_name":"TeamName"
},
{
"bundle_id":"com.App2",
"app_name":"App2",
"username":"me@kmail.com",
"password":"1234",
"team_name":"TeamName"
}
]
}
该项目的最初想法是:
- 具有自己的 git 存储库的部署项目(Gemfile、文件、依赖项...)。
- Xcode 项目拥有自己的存储库。
- 一个拥有自己存储库的 Fastlane 项目(包含所有 fastlane 文件)
- 正确设置
- Xcode 和 Fastlane 项目作为部署项目的子模块。
整个项目旨在使用 CI 机器。
注意如果需要,请询问更多信息。
问题
部署项目使用exec()调用 fastlane 操作。由于 fastlane 文件夹现在位于 中
./XcodeProject/fastlane
,我该如何调用操作?我的第一种方法是:
exec("fastlane ./XcodeProject/MyAction")
但我错了……
有任何想法吗?谢谢
解决方案
您可以使用 shell 脚本临时更改工作目录,将您的cd
和fastlane
命令括在括号中,如下所示:
(cd XcodeProject && fastlane MyAction)
我不确定这是否会在您的exec(...)
通话中起作用,但您可以编写一个执行上述操作的外部脚本,然后在exec
通话中运行它。
有关更多信息,请参阅此帖子。
推荐阅读
- powershell - 我想创建一个文件,它将获取 1.csv 的标题并从 2.csv 中提取所有数据。在 Powershell 中
- visual-c++ - 如何调用 LimitText 而不会导致派生 CComboBox 异常
- python - PyGame Collisions 仅在矩形的一侧起作用
- javascript - 仅在第一行用正则表达式替换
- python - 如何使用 Python 脚本在 Excel 工作表的每一行下下载 PDF 文件?
- javascript - 在 Blazor 应用程序中使用 Jquery 函数而无需单击按钮
- php - 未为自定义路由发送验证电子邮件获取未定义路由 [verification.verify]
- angular - 在 Angular Material 自定义对话框中显示组件
- r - 在 sparklyr 中汇总标准偏差并计算非 NA
- python - 根据列中的值列表和数字过滤行