GitHub Actions とは GitHub での CI/CD と自動化の仕組み

February 8, 2022 // 1 min read

image

GitHub で組み込みの自動化と CI/CD 機能を使用するメリット、GitHub Actions の仕組み、一般的なユースケースなどの完全ガイドです。

プラットフォーム ネイティブの自動化ツールとして 2018 年に初めてリリースされた GitHub Actions は、開発者に GitHub のコードのすぐ隣で活用できる優れた自動化と CI/CD (継続的インテグレーション/継続的デプロイ) 機能を提供するように進化してきました。

基本的に、GitHub Actions は柔軟な自動化によってワークフローを簡素化し、開発者が開発者のために構築した使いやすい CI/CD 機能を提供することを目的としています。

他の自動化や CI/CD ツールと比較して、GitHub Actions は GitHub Flow にネイティブな機能を提供します。GitHub Marketplace にある 10,000 以上の事前に作成されたテスト済みの自動化や CI/CD アクションを簡単に活用できるほか、使いやすい YAML ファイルで独自に作成することもできます。

特筆すべきは、GitHub Actions が webhook イベントに対応する点です。つまり、イベントの発生元が GitHub かサードパーティ ツールかに関係なく、GitHub リポジトリの webhook トリガーに基づいてあらゆるワークフローを自動化できます。

このガイドでは、次のような内容を紹介します。

  • GitHub Actions とは何か? どのように機能するのか? GitHub Actions とその自動化や CI/CD 機能の仕組みについて知っておくべき技術的な内容。
  • 誰が GitHub Actions を使用できるのか? GitHub の無料プランと有料プランに含まれる機能。
  • GitHub Actions で何ができるのか? 開発者が GitHub Actions を使ってワークフローを簡素化する一般的な方法。

GitHub Actions のメリット

GitHub Actions にはデベロッパーエクスペリエンスを支援する強力な機能が用意されています。その一部をご紹介します。

  • GitHub Flow 内で全てを自動化: Actions では強力な自動化をリポジトリに実装できます。独自のアクションを作成することも、GitHub Marketplace にあるすぐに利用可能なアクションを使用して、お気に入りのツールをリポジトリに直接統合できます。
  • 複数のオペレーティング システムでホストされた仮想マシン: Actions では Ubuntu Linux、Windows、macOS でホストされた仮想マシン (VM) が提供されるため、選択したオペレーティング システムに直接、または 3 タイプ全て同時にコードをビルド、テスト、デプロイできます。
  • すぐに使用できる事前に作成された CI テンプレート: GitHub Actions では開発者が開発者のために構築したテンプレートで継続的インテグレーション (CI) を直接 GitHub Flow に組み込むことができます。独自のカスタム CI ワークフローや独自の継続的デプロイメント (CD) ワークフローを作成することもできます (詳細は後述)。
  • 簡単なコンテナとオペレーティング システムのテスト: Docker をサポートし、Ubuntu Linux、Windows、macOS のホストされたインスタンスにアクセスできるため、Actions ではシステム間でコードを簡単にビルドしてテストし、ビルドとテストのワークフローも自動化します。
  • パブリック リポジトリでの利用が無料: GitHub Actions は全てのパブリック リポジトリで無料で利用できます。プライベート リポジトリでも 2,000 分/月までホスト ワークフローを無料で利用できます (開発者が独自の GitHub Action サーバーをホストしている場合は無制限に利用できます)。

GitHub Actions の完全なガイドを入手する

以下の PDF ガイドを今すぐダウンロードして、Slack でプルリクエスト通知を自動化する方法から完全な CI/CD パイプラインの構築まで、GitHub Actions の仕組みと GitHub Actions で何ができるのかについてご覧ください。

その他のリソース

Tags

レポートを読み取る

以下の情報を入力してください。

octocaptcha spinner