Tag: 流程

iOS应用程序持续交付的力量

可以说,要使团队超越一个人,最具挑战性的方面之一就是确保每个人都拥有相同的环境 。 不仅所有团队成员都需要了解项目的高层计划和目标-有效共享正在进行的功能和里程碑的确切状态对于团队协作至关重要,这确实至关重要。 从设计到实施 举例来说,假设设计师一直在为应用程序开发新屏幕,并且团队已决定是时候开始在代码中实现该新屏幕了。 设计师将他们的设计及其所有资产交给开发人员,然后他们开始在Xcode中构建新屏幕。 由于估计需要一到两周的时间,因此设计师将继续执行下一个任务,具体取决于公司的规模,这可能需要与全新的开发人员,产品经理,测试人员和其他设计师合作。 但是,这种交接几乎从来不是一个干净的中断 。 交付给开发人员的设计很可能无法回答他们所有的问题,而且某些细节常常会在翻译过程中“丢失” -不是由于能力不足,而是因为我们尚未建立共享关系上下文。 我们理想的情况是,设计师/开发人员的交接实际上根本不是交接,而只是连续反馈循环中的又一步。 如果我们能够在完成设计工作之前获得设计人员对设计实现的反馈,那么我们更有可能对这些反馈采取行动,并且在我们解决问题之前要正确无误。无论如何都要运送我们已经建造的东西。 一遍又一遍地讲, “我们将在下一版本中对其进行修复”可能是一件令人沮丧的事情。 持续集成 在iOS开发者社区中,我们早已意识到持续反馈的价值-通过持续集成的日益普及。 使用像Bitrise这样的服务,我们可以通过为所有受支持的设备构建应用程序并在结果上运行我们的自动化测试套件,lint和其他工具,来快速获取有关推送到远程存储库的任何代码更改的反馈。 最重要的是,使用诸如GitHub Pull Requests之类的方法添加同行评审,我们已经建立了持续的反馈循环-在其中,作为一个持续的过程,代码被编写,审查,测试并集成到主要代码库中。 这不仅使我们的工作流程更流畅,而且还为错误提供了安全网。 错误甚至可以在合并之前就被捕获,可以解决和重新测试版本控制冲突,并且可以调整体系结构不一致之处。 可以说,一旦您完成了使用持续集成的项目,就很难在没有项目的情况下恢复工作。 那么,我们如何才能扩展持续集成模型,使其不仅成为开发人员的工作流,而且使我们团队的其他成员(例如设计师,产品经理或外部利益相关者)参与其中? 输入连续交付 。 持续交付 如果绿色的构建和通过测试的套件不是我们持续集成过程的终点,又该如何将每个构建实际交付给我们的团队怎么办? 这样,我们不仅可以使开发人员,而且可以使我们团队中的每个人都进入我们的反馈循环。 设计师可以看到其实施设计的确切状态,产品经理可以制定更准确的计划,而外部利益相关者(例如代理商或自由职业者的客户)可以随时透明地看到其项目的确切状态。 虽然连续交付已成为Web和后端开发之类的越来越普遍的做法,但在iOS上却有些棘手-因为我们无法真正将所做的每项更改都部署到App Store或什至实际上是TestFlight (取决于更改的数量)。 值得庆幸的是,Bitrise可以解决此问题。 通过将Xcode Archive & Export for iOS的Xcode Archive & Export for iOS步骤添加到Bitrise工作流程,新的IPA(app)工件将被存档并保存到每个版本中。 将该步骤链接到Deploy to Bitrise.io步骤将依次获取该IPA文件并将其部署到Bitrise的内部测试服务。 完成后,您在Bitrise上邀请加入该应用程序的每个人都可以访问这些版本。 代码签名 难题的最后一步是确保已部署的应用程序以能够在所有团队成员的设备上运行的方式进行代码签名。 为此,有四个主要选项: 如果您的公司拥有Apple 颁发的企业证书 […]