2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

麦当劳使用 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:007900
用户头像

发布了 545 篇内容, 共 419.3 次阅读, 收获喜欢 590 次。

关注

评论

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

Spring Boot 整合 MyBatis 的详细步骤(两种方式)

不在线第一只蜗牛

Spring Boot 后端

Cloud Kernel SIG 月度动态:ANCK 新增多家厂商硬件新特性支持

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥sig

简化插件的添加和更新流程

NocoBase

开源 低代码 无代码 版本更新

签署《AI安全国际对话威尼斯共识》 智源持续推动人工智能安全发展

智源研究院

智启未来!和鲸联合南开大学赵宏教授,共论 AI 挑战下的教育教学新理念与新方法

ModelWhale

Python 人工智能 高等教育

js基础之setTimeout与setInterval原理分析

京东科技开发者

高性能连接池之HikariCP框架分析:高性能逐条分解(架构师篇)

肖哥弹架构

Java HikariCP 连接池

恭喜!龙蜥社区2024年中三大奖项评选名单新鲜出炉

OpenAnolis小助手

开源 操作系统 龙蜥社区

软件系统反脆弱指南

FunTester

强大的终端SSH工具:SecureCRT (Win&Mac) 激活版

你的猪会飞吗

SecureCRT下载 SecureCRT mac SecureCRT Mac破解版 SecureCRT 安装教程

行业报告:仅百度文心智能体平台实现帮开发者赚钱

极客天地

专访AMD:AMD 正式加入龙蜥社区首秀:开源协作与 AI 创新的交汇点

OpenAnolis小助手

开源 AI 操作系统 龙蜥社区

专访阿里云:AI 时代服务器操作系统洗牌在即,生态合作重构未来

OpenAnolis小助手

开源 AI 操作系统 龙蜥社区 龙蜥操作系统大会

诚邀见证2024九章云极DataCanvas算力包产品发布会!

九章云极DataCanvas

Qwen2.5 大语言模型特点解析

灵快科技

AI 大语言模型 LLMOps AI 智能体 Qwen2.5

9月20日,Bonree ONE 3.0 产品发布会北京站即将开启!

博睿数据

京东短网址高可用提升最佳实践

京东科技开发者

阿里 Qwen2.5 开源发布;YouTubeVeo 引入 Google DeepMind Veo 模型丨 RTE 开发者日报

声网

京东云JoyCoder荣获AI4SE“银弹”优秀案例

京东科技开发者

多协议数据库管理工具:Navicat Premium (Win&Mac) 中文激活版

你的猪会飞吗

Navicat Premium Navicat Premium 16 Navicat Premium 中文版

AI 镜像云市场伙伴招募计划发布!服务商闭门会精彩回顾 | 2024 龙蜥大会

OpenAnolis小助手

开源 操作系统 龙蜥社区 AI 镜像

专访浪潮信息:AI 原生时代,浪潮信息引领服务器操作系统创新 全面贡献龙蜥社区

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥操作系统大会

AI 场景下如何构建运维的标准化能力?SOMA 智能运维计划发布 | 2024 龙蜥大会

OpenAnolis小助手

开源 操作系统 系统运维 龙蜥社区 龙蜥社区系统运维联盟

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