首页 > 解决方案 > 从另一个目录调用 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"
        }
    ]
}

该项目的最初想法是:

整个项目旨在使用 CI 机器。

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

问题

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

exec("fastlane ./XcodeProject/MyAction")

但我错了……

有任何想法吗?谢谢

标签: rubyfastlane

解决方案


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

(cd XcodeProject && fastlane MyAction)

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

有关更多信息,请参阅此帖子


推荐阅读