如何使用Fastlane和Bitrise为多个iOS和tvOS应用设置CI
最近,我不得不为多个版本的iOS和tvOS应用程序设置一个持续集成(CI)管道。 由于没有找到有关如何以简单方式执行此操作的大量信息,因此决定撰写此博客文章。
用例
如果您有以下内容,则此帖子很有用:
- 白标应用程序(WLA),其中包含同一应用程序的多个变体;
- 针对多个平台的应用程序(iOS / tvOS / macOS);
而且,您不想在CI管道中重复或在管道中定义环境变量。
就我而言,我有一个通用应用程序(iOS和tvOS)两个版本(精简版和高级版),因此共有四个版本。
工具类
我使用Fastlane工具来自动化部署应用程序所需的任务。
像所有工具一样,它也有优点和缺点。
优点 :
- 您的管道不依赖于任何特定服务;
- 它可以在本地,服务或远程计算机中运行;
- 它取决于一个开源项目;
缺点 :
- 您需要时间进行配置;
- 您需要时间来维护它;
如果您不熟悉Fastlane,请参阅其文档。
快速通道配置
阅读fastlane的文档,使用环境变量似乎最适合我的用例。
为了为应用程序的每个版本加载不同的变量,您需要为每个版本定义一个文件。
在我的情况下,我用以下名称定义了4个文件:
- .env.ios
- .env.iosfree
- .env.tvos
- .env.tvosfree
每个文件都包含构建特定版本的应用程序所需的变量:
还需要设置Secrets以构建应用程序(FASTLANE_USER,FASTLANE_APPLE_ID,FASTLANE_PASSWORD),并验证在我的情况下选择的正确堆栈是macOS 10.13上的Xcode9.3.x。
如果您还想使用Bitrise,并且此帖子对您有所帮助,请使用我的推荐链接,以便我可以赢得Bitrise T恤😄。
结论
在此博文中,我们看到了如何使用Fastlane和Bitrise为不同平台,iOS和tvOS自动部署同一应用程序的多个版本。