硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

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

发布了 516 篇内容, 共 395.5 次阅读, 收获喜欢 582 次。

关注

评论

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

书单 | 读了这10本书,再也不怕黑客攻击了

博文视点Broadview

【通知】2021年“绿城杯”网络安全大赛开始报名啦!

郑州埃文科技

人民币突传大好消息,首款数字货币“官宣”了!

CECBC

隐私计算﹢区块链:让数据真正成为生产要素

CECBC

一周信创舆情观察(9.6~9.12)

统小信uos

架构实战营第一期 -- 模块八作业

clay

架构实战营

字节4轮面试,拿43k*15 Offer!全靠过硬实力+1290题面试神技手册

Java 架构 面试 后端 计算机

基于MySQL binlog日志,实现Elasticsearch近实时同步实践

Java MySQL 编程 架构 计算机

第1章-《Linux一学就会》-Linux课程介绍-学习环境搭建

学神来啦

Linux 运维 contos

极客时间企业版|数字化转型专题讲座天津站圆满结束

InfoQ 天津

LDAP是什么意思?有什么用?

行云管家

运维 服务器 AD域 目录

得偿所愿!字节4面斩下2-2Offer,入职就是30K16薪,相信你们也可以!

Java 程序员 字节跳动 面试 计算机

智能汽车安全保障亟待加强,熵核科技助力“人车互联”

熵核科技

系统安全 自动驾驶安全

C++20 Concepts 极简介绍

董一凡

c++

CANN AICPU算子耗时分析及优化探索

华为云开发者联盟

tensorflow 测试 算子 CANN算子 算子耗时

数据通信网络基础

Regan Yue

华为数据通信 9月日更 数据通信

Phaser类在性能测试中应用

FunTester

多线程 性能测试 测试框架 FunTester phaser

一文搞懂如何使用Node.js进行TCP网络通信

华为云开发者联盟

node.js TCP 网络 网络通信 TCP服务器

k8s 驱逐pod疑惑

Geek_f24c45

Kubernetes kubelet

【等保三级】过等保三级需要哪些设备?大概多少钱?

行云管家

网络安全 信息安全 等保 堡垒机 等保三级

滨海新区新的社会阶层人士开展“寻美.天津”主题活动

InfoQ 天津

区块链技术,让数字政务跑出“加速度”

CECBC

面试官:MySQL的幻读是怎么被解决的?

Java MySQL 编程 架构 后端

你真的了解Redis单线程为什么如此之快吗?

Linux服务器开发

数据库 redis 多线程 Linux服务器开发 单线程

Opus从入门到精通(三)手撸一个Opus编码程序

轻口味

音视频 9月日更 Andriod

聊聊汽车ECU中单片机开发

SOA开发者

车载控制单元

30天读完300页,这份Alibaba面试通关手册,助我“闯进”字节跳动拿下offer

Java spring 编程 架构

Growing 账号认证实践

GrowingIO技术专栏

spring security CAS SSO ldap

【WIC•资讯】世界智能大会组委会秘书处祝贺 2021中国(天津)非公有制经济发展论坛圆满召开

InfoQ 天津

足以封神的SpringCloudAlibaba问世,看过的人都已经“登仙”了

Java 程序员 面试 springboot 计算机

区块链 ≠ 分布式存储

趣链科技

区块链 分布式 存储

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