写点什么

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

发布了 400 篇内容, 共 306.4 次阅读, 收获喜欢 530 次。

关注

评论

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

一周信创舆情观察(4.26~5.5)

统小信uos

全新 Jira 系列,适用于所有团队!

Atlassian

DevOps 敏捷 Atlassian Jira

架构实战营 模块三作业

netspecial

架构实战营

清华博士!教你如何快速了解JVM虚拟机,码农:天才就是不一样

牛哄哄的java大师

Java 虚拟机

Offer收割机!阿里P7大神甩出JSP实战笔记,网友:信息量过大

飞飞JAva

Java

关于安卓设备声音远程传输的解决方案

行者AI

云平台

为何“低代码”频频引发业界热议?

优秀

低代码

纯干货!看了10多篇Thread详解,只有阿里P7大佬的这份才是王者

牛哄哄的java大师

Java Thread

私域流量这件事,古代就有了……

脑极体

爬虫实战教程:采集微信公众号文章

前嗅大数据

大数据 爬虫 数据采集 爬虫教程

编程风格漫谈

顿晓

编程风格 5月日更

如何在苹果M1上安装使用FL Studio

奈奈的杂社

编曲 教程分享 编曲软件

GitHub星标数超4万的火爆之作——ElasticSearch,你值得拥有!

飞飞JAva

Java

媒体化战略:数字时代企业如何做好公关与内容营销

博文视点Broadview

如何快速制作短视频?拥有这个神器,轻松搞定!

奈奈的杂社

短视频 视频剪辑 自媒体

Hive解析Json数组超全讲解

五分钟学大数据

hive 5月日更

Tars Java 客户端源码分析

vivo互联网技术

Java TARS RPC架构

Jmeter下载与mysql简单操作

InfoQ_Springup

工具软件

现代电信企业:极低延迟与复杂决策如何兼得?

VoltDB

数据分析 5G 数据平台 低延迟

看完阿里P7技术大牛的JVM知识点总结,竟帮我斩获了3份大厂Offer

飞飞JAva

Java JVM

“红黑树”详解丨红黑树的应用场景

Linux服务器开发

后端 红黑树 Linux服务器开发 Linux内核 红黑树应用场景

打破思维定式(三)

Changing Lin

腾讯T6!万字长文体系化讲解Spring源码,码农:太透彻了,学会了

牛哄哄的java大师

Java

【HDC.Cloud 2021】边云协同,打通AI最后一公里

华为云原生团队

人工智能 开源 云原生 边缘计算 华为云

部署kubernetes v1.17.3 集群

大数据技术指南

5月日更

如何更好地洞察用户需求?

石云升

用户分析 职场经验 5月日更

杨强教授领衔撰写,国内首本联邦学习实战的权威著作

博文视点Broadview

架构实战模块三作业

Geek_649372

架构实战营

“服务可达的数据链DNA” ,打通从代码到用户的“任督二脉”

博睿数据

数据链DNA

马丁格尔策略交易软件源码,量化策略系统开发

如何快速排查发现redis的bigkey?4种方案一次性给到你!

观测云

redis 云计算 云服务

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