【问题标题】:Calling fastlane with its actions from another directory从另一个目录调用 fastlane 及其操作
【发布时间】:2020-02-27 12:39:12
【问题描述】:

我正在开发一个 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")

但我错了……

有什么想法吗? 谢谢

【问题讨论】:

    标签: ruby fastlane


    【解决方案1】:

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

    (cd XcodeProject && fastlane MyAction)

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

    请参阅this post 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2020-03-10
      • 2020-09-06
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多