2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

发布了 463 篇内容, 共 347.1 次阅读, 收获喜欢 557 次。

关注

评论

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

限流算法及方案介绍

京东科技开发者

高并发 限流算法 高并发处理 限流熔断 企业号 2 月 PK 榜

如何实现无水印下载tiktok视频到手机?这个教程必须看!

frank

App

分布式锁实现原理与最佳实践

阿里技术

分布式锁

滴滴前端二面必会react面试题指南

xiaofeng

前端 React

前端经典react面试题及答案

夏天的味道123

前端 React

推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战

汀丶人工智能

自然语言处理 推荐系统 搜索推荐

深入分析React-Scheduler原理

xiaofeng

前端 React

vue中的几个高级概念

yyds2026

Vue 前端

vue3实战-完全掌握ref、reactive

yyds2026

Vue 前端

InstructPix2Pix:指挥机器修改图像

Zilliz

阿里前端二面常考react面试题(必备)

xiaofeng

前端 React

巧用 ChatGPT,让开发者的学习和工作更轻松 | 社区征文

陈明勇

ChatGPT

深度理解Redux原理并实现一个redux

夏天的味道123

前端 React

通用信息抽取技术UIE产业案例解析,Prompt范式落地经验分享!

飞桨PaddlePaddle

nlp 模型 情感分析 飞桨 PaddlePaddle

ChatGPT:时代赋予的机遇 | 社区征文

石云升

人工智能 机遇 AIGC ChatGPT

美团前端经典react面试题整理

夏天的味道123

前端 React

升级到React-Router-v6

xiaofeng

前端 React

百度CTO王海峰:深度学习平台+大模型,夯实产业智能化基座

飞桨PaddlePaddle

人工智能 深度学习 飞桨 PaddlePaddle

SREWorks v1.1 版本发布 | 组件插拔场景化部署能力

阿里云大数据AI技术

大数据 运维 存储 企业号 2 月 PK 榜

拥抱下一代前端工具链-Vue老项目迁移Vite探索

京东科技开发者

前端 vite 迁移 Vue 3 企业号 2 月 PK 榜

[触觉智能RK3568]指定单个OpenHarmony镜像进行独立编译

离北况归

OpenHarmony

深度讲解React Props

夏天的味道123

前端 React

基于阿里云物联网平台,用20元体验物联网开发( 自制 Arduino 环境监测仪)——实践类

阿里云AIoT

监控 物联网 存储 传感器 测试技术

京东前端二面常见vue面试题及答案

yyds2026

Vue 前端

Kyligence 出席全球人工智能开发者先锋大会并成功主办分论坛

Kyligence

数据服务 人工智能大会

大家一起来找茬,新手第一次layout到底能挑出多少毛病?

华秋PCB

工具 PCB 电路板 layout PCB设计

阿里云物联网平台业务Topic规划最佳实践——实践类

阿里云AIoT

小程序 物联网 存储 智能硬件 数据格式

滴滴前端常考vue面试题

yyds2026

Vue 前端

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