BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース マクドナルド社がGitHubアクションと再利用可能なワークフローでCIを効率化

マクドナルド社がGitHubアクションと再利用可能なワークフローでCIを効率化

原文リンク

最近マクドナルド社は、GitHub Actionsを活用して可読性と保守性を重視し、コードの重複を削減した方法について語った。彼らの目標には、合理化されたCIプロセスの確立、開発者の生産性の向上、パイプラインのオブザーバビリティとモニタリングの実装などが含まれていた。

マクドナルド社のシニアソリューションアーキテクトであるMichael Gorelik氏とソフトウェアエンジニアであるAchintya Pillai氏は、McDonald's Technical Blogで彼らの道のりについて詳しく述べている。彼らは、コード品質、セキュリティ対策、パッケージング、タグ付けを含む継続的インテグレーションの段階を促進するために、「ゴールデンパス」と呼ばれる一貫したフレームワークを確立したことについて語った。さらに、このフレームワークは、すべてのアプリケーションで統一された品質基準の維持を可能にし、組織全体でデプロイメント成果物の標準化された命名規則の採用を促進した。

マクドナルド社のエンジニアリングチームは、さまざまな言語で書かれ、さまざまなクラウドネイティブサービスを利用する多数のマイクロサービスを持つ、広範なテクノロジーランドスケープを管理している。アプリケーション全体の継続的インテグレーション(CI)プロセスを合理化するために、彼らは再利用可能なワークフローとGitHubのカスタムアクションを利用している。

出典リデュース、リユース、リサイクル:マクドナルドの再利用可能なワークフロー

パイプラインにおけるコードの重複を最小限に抑えるため、チームはアプリケーションの言語タイプごとにCIワークフローを整理し、GitHub Actionsの再利用可能なワークフローを利用して、中央のCIコードベースを作成した。これらの中心的なワークフローには、ビルド、品質とセキュリティのスキャン、成果物の作成、タグ付けなどの段階が含まれる。この構造により、メンテナンス、更新、コードの再利用が合理化され、標準化されたアプリケーション開発が保証される。さらに、チームは必要なユーティリティとライブラリを格納するためにコンテナを採用し、ワークフローの合理的な実行を可能にすることで、セキュリティリスクと実行時間を削減した。

マクドナルド社のエンジニアリングチームは、ゴールデンパス・アプローチをアプリケーション全体のすべてのCIプロセスに拡張しようとしている。一元化された再利用可能なワークフローとアクションを実装するために、シンプルなCIコーラーファイルが各アプリケーションに統合され、エンジニアがCIステージのゴールデンパスワークフローを参照し、必要な標準へのコンプライアンスを確保できるようになっている。

今年初め、GitHub Actionsは 新しいM1 macOSランナーを導入して話題になった。この新しいランナーは、3つのvCPU、7GBのRAM、14GBのストレージを備えたVMでActionsのワークフローを実行し、Actionsで利用可能な最新のMacハードウェア機能を紹介した。我々は、 GitHub Actionsを使った Alex Ellis氏の実験結果について言及した 興味深いHackerNewsの対談記事を偶然見つけた。その対談記事にはテック・コミュニティからのコメントも含まれており、あるHNユーザは GitHub Actionsの演算時間をコスト高と表現し、特にMacの価格設定について わめき散らしていた

GitHub ActionsをCIに使うことで、McDonald's Engineeringはエンジニアに中央集権的なコントロールと個人の自律性を融合させることを目指している。このアプローチは、重要なステップのための中央の "ゴールデンパス "を確立する一方で、開発者が独立して新しいステージを追加することを可能にし、他のオペレーションを中断させることなく俊敏性を維持する。

最後に、オブザーバビリティの面では、再利用可能なワークフローを採用することで、チームは集中監視ソリューションを確立した。これらのソリューションは、DevOpsチームとアプリケーションチームの両方がパイプラインのパフォーマンスを定期的に監視し、将来的な機能強化のための領域をピンポイントで特定することを支援する。

作者について

この記事に星をつける

おすすめ度
スタイル

BT