从另一个目录调用 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"
        }
    ]
}

该项目的最初想法是:

整个项目旨在 CI 机器中。

注意如有需要请询问更多信息。

问题

部署项目使用 exec() 调用快速通道操作。由于 fastlane 文件夹现在位于 ./XcodeProject/fastlane, 如何调用动作?我的第一个方法是:

exec("fastlane ./XcodeProject/MyAction")

但我错了...

有什么想法吗? 谢谢

您可以使用 shell 脚本临时更改您的工作目录,将 cdfastlane 命令括在括号中,如下所示:

(cd XcodeProject && fastlane MyAction)

我不确定这是否会在你的 exec(...) 调用中起作用,但你可以编写一个执行上述操作的外部脚本,然后 运行 在 exec 调用中.

有关详细信息,请参阅 this post