开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

麦当劳使用 GitHub Actions 和可重用工作流简化 CI 管道

  • 2024-04-04
    北京
  • 本文字数:1080 字

    阅读完需:约 4 分钟

麦当劳使用 GitHub Actions 和可重用工作流简化 CI 管道

最近,麦当劳分享了如何利用 GitHub Actions 来提升代码可读性和可维护性,并减少代码重复。他们的目标包括简化持续集成流程、提高开发者生产力,以及实现管道的可观察性和监控。


麦当劳高级解决方案架构师 Michael Gorelik 和软件工程师 Achintya Pillai 在麦当劳技术博客上详细阐述了他们的经历。他们谈到了为持续集成阶段建立一致的框架——被称为“黄金路径”,包括代码质量、安全措施、打包和标记。此外,框架还有助于在所有应用程序中维护统一的质量标准,并促进整个组织采用部署工件的标准化命名约定。


麦当劳的工程团队涉足广泛的技术领域,其中有许多使用不同语言编写的微服务,并使用了不同的云原生服务。他们利用 GitHub 的可重用工作流和自定义操作来简化跨应用程序的持续集成 (CI) 流程。


来源:Reduce, reuse, recycle: McDonald’s reusable workflows


为了减少代码重复,他们根据应用程序语言类型来组织 CI 工作流,利用 GitHub Actions 的可重用工作流创建了一个中心 CI 代码库。这些中心工作流包括构建、质量和安全扫描、工件创建和标记等阶段。这种结构简化了维护、更新和代码重用,确保了应用程序开发的标准化。此外,他们使用容器存储所需的工具和库,实现了工作流的简化执行,并降低了安全风险,缩短了执行时间。


麦当劳的工程团队试图将这种黄金路径方法扩展到其应用程序所有的 CI 流程中。为了实现集中式的可重用工作流和操作,每个应用程序都集成了一个简单的 CI 调用文件,让工程师能够在每个 CI 阶段引用黄金路径工作流,并确保符合所需的标准。


今年早些时候,GitHub Actions 引入了一个新的 M1 macOS 运行器 ,并引起了关注。这个新的运行器通过一个配置了 3 个 vCPU、7 GB RAM 和 14 GB 存储空间的虚拟机来运行 Actions 工作流,展示最新的 Mac 硬件对 Actions 的支持。我们偶然看到了一个有趣的 HackerNews 帖子,其中提到了 Alex Ellis 的一个使用 GitHub Actions 的实验。帖子包含了来自技术社区的评论,其中一位 HackerNews 用户 ranting-moth 抱怨说 GitHub Actions 的计算费用非常高,特别是关于 Mac 定价的部分。


麦当劳工程团队还希望通过使用 GitHub Actions 进行持续集成 (CI) 来为工程师提供一种集中控制和个人自治相结合的混合模式。这种方法建立了关键步骤的中心“黄金路径”,同时又让开发人员能够独立添加新的阶段,在保持灵活性的同时不影响其他操作。


在可观察性方面,他们通过采用可重用的工作流构建了集中式的监控解决方案。这些解决方案协助 DevOps 和应用程序团队定期监控其管道性能,并确定未来需要改进的地方。


查看英文原文https://www.infoq.com/news/2024/03/mcdonalds-ci-github-actions/


声明:本文为 InfoQ 翻译,未经许可禁止转载。


2024-04-04 08:007680
用户头像

发布了 389 篇内容, 共 292.8 次阅读, 收获喜欢 527 次。

关注

评论

发布
暂无评论
发现更多内容

RAG一文读懂!概念、场景、优势、对比微调与项目代码示例

飞桨PaddlePaddle

百度 BAIDU 百度飞桨 开发者说 rag

使用 SPL 高效实现 Flink SLS Connector 下推

阿里巴巴云原生

阿里云 云原生 sls

Tower for Mac(强大的Git客户端)v10.5注册激活版

iMac小白

文心一言 VS 讯飞星火 VS chatgpt (209)-- 算法导论15.4 6题

福大大架构师每日一题

福大大架构师每日一题

对话| 阿里云大降价后,再谈“降本增效”

阿里巴巴云原生

阿里云 云原生

Nova for Mac(强大的代码编辑器)v11.9中文版

iMac小白

从原理到实践,拆解人工智能的神秘面纱

测试人

软件测试

观测云产品更新 | 监控器、场景图表、链路等优化

观测云

监控 链路

如何做代币分析:以 IMX Token 币为例

Footprint Analytics

blockchain Token

BBEdit for Mac(好用的HTML文本编辑器)v15.0.2激活版

iMac小白

如何利用API接口进行高效的商品变体管理?

Noah

Dynamic Wallpaper for Mac(Mac动态壁纸桌面) v17.4中文版

iMac小白

直播预告|小白开箱: 云数据库在五朵云上的评测

NineData

评测 选型 云数据库 NineData 云猿生

TDengine 3.2.3.0 版本发布,流计算等八大板块功能更新

TDengine

tdengine 时序数据库

新规正式发布 | 百度深度参编《生成式人工智能服务安全基本要求》

百度安全

Soulver 3 for Mac(智能文本计算器)v3.10.1激活版

iMac小白

iA Writer for Mac(mac好用的写作软件)v7.1.1中文激活版

iMac小白

电商如何利用smallredbook.item_get_video API提升购物体验

技术冰糖葫芦

API 接口

麦当劳使用 GitHub Actions 和可重用工作流简化 CI 管道_后端_Aditya Kulkarni_InfoQ精选文章