ios - 是否可以为 iOS 应用程序开发设置持续集成和持续部署?
问题描述
我正在寻找一种方法来为 iOS 应用程序开发设置集中式持续集成和持续部署。就像我们为 Maven 或 Gradle 构建所做的那样。
我发现有几篇文章解释了如何实现这一点,但他们都在使用 Xcode 来构建 iOS 应用程序。这里的关键是 Xcode 只能在 MacOS 上运行。
我找到了 Jenkins Xcode 插件,但它清楚地表明,
显然,构建机器必须是安装了 XCode 开发工具的 OSX 机器。
即使我们将开发者的一台 OSX 机器作为 Jenkins 代理,我们也不能保证开发者的 OSX 机器将始终连接到 Jenkins master。如果其他人想要构建应用程序并且运行 Jenkins 代理的 OSX 机器不可用怎么办?
我找到了 fastlane,但这似乎也自动化了一些手动步骤,比如截屏、代码签名、发布应用程序。如果我没记错的话,它只能在开发人员的机器上运行。
人们用来实现这一目标的通用方法是什么?
解决方案
对于 CI/CD,您可以使用远程构建服务器,例如 Microsoft 的 AppCenter ( https://appcenter.ms/ ) 或其他服务器。
而且,显然,如果没有 mac 机器来构建应用程序,您将无法构建自己的系统 CI/CD。不幸的是,开发者不能在没有 Apple Machine 的情况下构建应用程序。
这是iOS开发的主要问题。
在这种情况下,android 更好。
推荐阅读
- ios - 如何在 iOS 应用启动期间访问 IMvxLog
- angular - 如何正确编辑显示在网格中的值?
- powershell - Azure 管道:基于 OS 的条件环境变量
- android - 如何在屏幕触摸和按住上进行 Activity 更改,并在释放相同的保持时再次更改?
- java - 根据文件中的多个模式从文件中提取字符串
- android - 在错误的包中生成的数据绑定
- firebase - 动态链接和托管不同意自定义域是否正确连接
- java - 如果字符串包含 000,则 OffsetDateTime 不显示毫秒
- python - 如何将多阵列数据提供给模型?
- reactjs - react-script 导致 TypeScript 尝试查找要导入的错误文件