开源 Android 应用中的 CI/CD 配置实践:一项实证研究
软件工程
2025-05-20 v2
摘要
持续集成与持续交付(CI/CD)是一种已确立的实践,可自动构建、测试、打包和部署软件系统。要采用 CI/CD,软件开发人员需要使用专用的 YML 配置文件对项目进行配置。移动应用具有与 CI/CD 实践相关的独特特性,例如在各种模拟器上进行测试以及部署到应用商店。然而,人们对移动应用中采用 CI/CD 所面临的挑战和附加价值,以及开发人员如何维护此类实践知之甚少。在本文中,我们对采用四种流行 CI/CD 服务(即 GitHub Actions、Travis CI、CircleCI 和 GitLab CI/CD)的 2,557 个 Android 应用中的 CI/CD 实践进行了实证研究。我们还将研究结果与先前关于通用 CI/CD 实践的研究进行了比较,以将其置于更广泛的趋势之中。我们观察到 CI/CD 服务和 Android 应用之间缺乏共性和标准化,导致复杂的 YML 配置及相关维护工作。我们还观察到 CI/CD 配置主要侧重于构建设置,约一半的项目执行标准测试,仅有 9% 涉及部署。此外,我们发现 CI/CD 配置平均每两个月更改一次,频繁的维护与活跃的问题跟踪、项目规模/年龄和社区参与度相关。我们对提交记录的定性分析揭示了 CI/CD 维护活动中的 11 个主题,其中超过三分之一的变更聚焦于改进工作流和修复构建问题,而另外三分之一涉及更新构建环境、工具和依赖项。我们的研究强调了自动化和 AI 驱动工具对于改进移动应用 CI/CD 流程的必要性,并倡导创建适应性强的开源工具以高效管理资源,尤其是在测试和部署方面。
引用
@article{arxiv.2411.06077,
title = {CI/CD Configuration Practices in Open-Source Android Apps: An Empirical Study},
author = {Taher A. Ghaleb and Osamah Abduljalil and Safwat Hassan},
journal= {arXiv preprint arXiv:2411.06077},
year = {2025}
}