我们如何自动化WL应用程序的开发

White Label是可以针对任何品牌进行定制的移动应用程序:使用公司色彩进行设计,选择必要的功能块和功能,添加说明。自2015年以来,我们一直在Rambler /收银机的基础上发布它们,在本文中,我们想告诉您我们如何设法自动化和加速WL的开发。







漫步者/票房是一种在线服务和应用程序,用于出售音乐会,剧院,电影院,体育和其他活动的门票。我们还正在为合作伙伴开发其他B2B产品:移动SDK,用于网站和社交网络的内置小部件,用于销售和受众分析的CRM系统以及许多技术解决方案。但是今天我们将仅关注WL。



之前发生了什么



收到WL应用程序的请求后,项目经理必须重新制定和完善所有要求,并将其转移给团队经理。反过来,他再次澄清并要求所有必要的参数,然后在设计师,开发人员和测试人员之间分配工作。此外,要创建WL应用程序,您需要在项目中创建一个新目标,浏览所有配置文件,为各种服务设置必要的ID,设置颜色,字体,图像等。







在理想的情况下,开发新的WL至少需要2-3天-iOS和Android开发人员至少需要花上3天的时间,再加上测试。如果员工第一次面对创建WL应用程序的任务,那么该任务可能需要花费三天的时间,从而增加了总工作时间。因此,对于Rambler / Cashier而言,创建WL应用程序是一项日常任务,它落在开发人员的肩上,并从开发人员身上夺走了宝贵的时间。



有什么解决方案



  1. 可以保留所有内容,并继续定期将开发人员的时间花在“手动” WL创建上。
  2. 第二种选择是开发一种解决方案,该解决方案将在不涉及开发资源的情况下自动化创建新WL的过程。同时,接收创建新WL的请求的频率无关紧要,因为将以最小的工作量执行任务。


在分析了创建新WL的请求的频率之后,我们决定坚持使用第二种方法。这将使您仅花费一次开发资源,但是为公司提供了一种工具,使您可以以最少的精力快速执行任务,并且仅使用管理人员和技术支持的时间。



解决方案如何运作



我们推出了一个带有微服务形式的管理面板的网站-现有管理面板(CMS)中的新部分,用于管理漫步者/收银员的销售和展示。我们已经为iOS和Android开发了脚本,这些脚本可以在项目中本地创建一个新应用程序,并为其提供所有必要的参数。



RabbitMQ用作消息代理,所有设置都保存到存档中并在Rambler Artifactory中发布。然后,将GitLab API用于在移动存储库上启动构建过程。



在后端,归档文件由JSON文件组成,其中包含在管理面板和图形中输入的信息。 Gitlab CI触发器在参数中调用管道,并通过该参数将链接从Artifactory传递到存档。使用输入参数链接启动在构建计算机上配置并位于项目根目录中的脚本。



iOS



脚本Ruby脚本解压缩存档文件,在整个项目中发送必要的数据,然后将控制权转移到下一个任务,该任务提交更改,更新吊舱并组装程序集,随后在App Store中显示。



Android脚本



Joba提取必要的jq和解压缩库。“解压缩”库解压缩档案,脚本使用“ jq”解析json,在“ app”模块中创建一个新文件夹,并检查给定应用程序的.jks文件。



如果应用程序是新的,则在组装发行版APK并将脚本将其发送到Firebase之后,将创建此文件-它会在Market中更新应用程序。接下来,任务检查是否出现了新的.jks文件,如果有,则将其推送到GitLab。



此外,还部署了一项服务,该服务监视正在运行的程序集的状态并更新其状态,以便您可以监视过程并控制新出现的问题。



实际上,创建WL应用程序的自动化过程如下所示



  1. / , , , , , .
  2. .
  3. .
  4. (ID , , , ..).
  5. « », .
  6. App Store Google Play CI.








我们已尽可能自动地创建WL应用程序。以前,开发过程本身需要2-3天的时间,并占用了程序员的资源,但是现在,管理器可以在15分钟内驱动所有数据,大约20分钟后,程序集会自动创建并发送给QA进行测试。我们的合作伙伴将获得Rambler /结帐中所有可用的机会,并且我们可以节省时间,资源并最大程度地减少错误。



All Articles