从另一个目录调用 fastlane 及其操作
Calling fastlane with its actions from another directory
我正在开发一个 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"
}
]
}
该项目的最初想法是:
- 部署项目(Gemfile、文件、依赖项...)有自己的 git 存储库。
- Xcode 项目有自己的存储库。
- 具有自己的存储库的 Fastlane 项目(包含所有 fastlane 文件)
- 正确设置
- Xcode 和 fastlane 项目作为部署项目的子模块。
整个项目旨在 CI 机器中。
注意如有需要请询问更多信息。
问题
部署项目使用 exec() 调用快速通道操作。由于 fastlane 文件夹现在位于
./XcodeProject/fastlane
, 如何调用动作?我的第一个方法是:
exec("fastlane ./XcodeProject/MyAction")
但我错了...
有什么想法吗?
谢谢
您可以使用 shell 脚本临时更改您的工作目录,将 cd
和 fastlane
命令括在括号中,如下所示:
(cd XcodeProject && fastlane MyAction)
我不确定这是否会在你的 exec(...)
调用中起作用,但你可以编写一个执行上述操作的外部脚本,然后 运行 在 exec
调用中.
有关详细信息,请参阅 this post。
我正在开发一个 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"
}
]
}
该项目的最初想法是:
- 部署项目(Gemfile、文件、依赖项...)有自己的 git 存储库。
- Xcode 项目有自己的存储库。
- 具有自己的存储库的 Fastlane 项目(包含所有 fastlane 文件)
- 正确设置
- Xcode 和 fastlane 项目作为部署项目的子模块。
整个项目旨在 CI 机器中。
注意如有需要请询问更多信息。
问题
部署项目使用 exec() 调用快速通道操作。由于 fastlane 文件夹现在位于
./XcodeProject/fastlane
, 如何调用动作?我的第一个方法是:
exec("fastlane ./XcodeProject/MyAction")
但我错了...
有什么想法吗? 谢谢
您可以使用 shell 脚本临时更改您的工作目录,将 cd
和 fastlane
命令括在括号中,如下所示:
(cd XcodeProject && fastlane MyAction)
我不确定这是否会在你的 exec(...)
调用中起作用,但你可以编写一个执行上述操作的外部脚本,然后 运行 在 exec
调用中.
有关详细信息,请参阅 this post。