Movatterモバイル変換


[0]ホーム

URL:


Udemy メディアスキルアップしたい
社会人のための情報サイト

GitHub Actionsとは?ネットワーク自動化の特徴と使用例を徹底解説!

GitHub Actionsは、GitHubが提供するソフトウェア開発におけるワークフローを自動化させるためのサービスです。この記事では、GitHub Actionsの特徴や注意点、実行環境などについて解説します。GitHub Actionsについて、学びたい方は是非とも参考にしてください。

公開日:2022年12月27日

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >
監修
Udemy講師 |

専門領域:Node.js, MongoDB, AWS, Docker, Kubernetes

津郷 晶也

メーカー研究開発時代、当時では珍しいSPAの開発や特許開発を行う。その後、SIer時代には億を超える規模のWebサービスのアプリ開発、現在もIT会社で引き続き大規模なWebサービス開発を実践。また、IPA資格(高度)ではPM、セキュリティ、DBの3つを取得。個人が展開する技術ブログは2012年から始めて記事300本以上執筆、多い時には10万PV/月を超えるほどのブログに成長。

…続きを読む閉じる

GitHub Actionsとは

GitHub Actionsは、GitHub上のpush(ファイルの変更履歴をアップロード)などの操作をトリガーとして、事前に定義しておいた処理を実行できます。
以前はシステム開発で自動テストや自動ビルドを行うには、外部サービスとの連携が必要でした。GitHub Actionsがリリースされたことで、自動テストや自動ビルドがGitHubだけで実現できるようになりました。ビルド、テスト、デプロイなどのCI/CD関連のワークフローが自動化できるため、多くのエンジニアから注目されています。

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

CI/CDとは

CIとは継続的インテグレーション(Continuous Integration)のことであり、ソフトウェアのビルドやテストを自動化して、短期間で品質向上や開発の効率化を目指す手法です。

CDとは、継続的デリバリー(Continuous Delivery)または継続的デプロイ(Continuous Deployment)のことを指します。CDはCIの要素に加えて、リリースやデプロイを自動化する手法です。これにより、開発者からの変更をリポジトリ(ファイルや変更履歴を保存する場所)から自動的にリリースして、ユーザーがすぐに使用できるようになります。これらCI/CD関連のワークフローを、GitHub ActionsはGitHub上で自動化できるようにします。

GitHub Actionsの特徴

GitHub Actionsは、既存のCI/CDツールと同じくリポジトリに対しての操作や、予約した時刻に事前に定義した処理を実行できます。これらは、GitHubが提供するサーバー上にある仮想マシンで実行ができるため、ユーザーがサーバーを準備しなくてよいというメリットがあります。

GitHub Actionsの使用例

GitHub Actionsの使用例としては、次のようなものが考えられます。

  • JavaScriptのLintをPush時に実行する
  • 特定のGitHub Projectsに、新規作成したIssueを自動的に追加する
  • ソフトウェアのリリース時に、リリース情報をSendGrid経由でメール送信する

グループに新規メンバーを追加したとき、報告用のIssueを作成するこれらの処理は、既存のCI/CDツールでも可能です。しかし、GitHub Actionsであれば、GitHubとスムーズに連携できるメリットがあります。

ActionとWorkflow

実行したい処理と、その処理を実行するための条件定義の事をWorkflow(ワークフロー)と、GitHub Actionsでは呼びます。

Workflowは、リポジトリ内の.github/workflowsディレクトリに保存することで実行可能になります。Workflowでは、シェル(Unix OSのユーザーインターフェース)経由で任意のコマンドを実行できます。また、複数のActionを組み合わせてWorkflowを構築することも可能です。

GitHub Actionsの一覧

Action名説明
setup-nodeNode.js環境のセットアップをする
github-scriptWorkflowのコンテキスト内で、GitHub APIを実行する
labelerGitHub上のラベル管理ファイル「.github/labeler.yml」を作成する
upload-artifact「artifact」として指定したファイルを保存する
cacheキャッシュして処理を高速化する
checkoutファイルをリポジトリからチェックアウトする
setup-javaJava環境をセットアップする
setup-pythonPython環境をセットアップする
setup-rubyRuby環境をセットアップする
setup-goGo環境をセットアップする
setup-haskellHaskell環境のセットアップ
create-releaseリリースを作成する
download-artifactartifactとして保存されるファイルのダウンロード
staleイシューやプルリクエストのうち、一定期間活動のないものを閉じる処理をする
setup-dotnetNET core環境をセットアップする
setup-elixirElixir環境をセットアップする
first-interactionプルリクエストやイシューをはじめて登録したユーザーに、メッセージを表示する

 

上記Action以外にも、他のユーザーが作成したActionもあります。ユーザーが作成したActionは、マーケットプレイスで提供されています。

※ Github マーケットプレイスは下記URLよりご確認ください。
https://github.com/marketplace

GitHubとの連携

既存のCI/CDツールでは、push以外のイベントを検知するには、手間がかかります。GitHub ActionsはGitHubと連携しているため、GitHub上のさまざまなイベントが検知できます。
またActionを実行する際に、デフォルトでリポジトリのデータが搭載されているため、コードのテストやビルドに必要なソースコードのダウンロードをする必要がありません。

またリポジトリごとにGitHub Tokenを発行し、自動的に環境変数に登録されることも特徴のひとつです。これにより、Tokenをコピーやペーストすることなく、Action内でGitHub APIを安全に実行できます。

GitHub Actionsの注意点

GitHub Actionsは自由度が高く、GitHubが提供するサーバー上で処理を実行できます。しかし、GitHub Actionsには、以下のような制約があります。

  • GitHub利用規約の範囲内で、使用をすること
  • 同時実行可能なワークフローは、1リポジトリに対して20まで
  • ワークフローで実行できるジョブの実行時間は、最大6時間まで

 

1つのアカウントで同時実行できるWindows・Linux環境内で実行されるジョブの最大数

プランジョブの最大数
Free20
Pro40
Team60
Enterprise180

 

1つのアカウントで同時実行できるmacOS環境内で実行されるジョブの最大数

プランジョブの最大数
Free5
Pro5
Team5
Enterprise50

 

プライベートリポジトリにおけるストレージと実行時間上限

プラン最大ストレージ容量月あたり
Free500MB2000分
Pro1GB3000分
Team2GB10000分
Enterprise50GB50000分

※追加料金を支払うことで、ストレージ容量と実行時間上限が拡張されます。詳しくは公式サイトをご確認ください。

GitHub Actionsの仮想マシンの実行環境

GitHub Actionsの仮想マシンの実行環境は以下のようになります。

Windows・Linux
CPU:2コア (x86_64)
RAM:7GB
SSD:14GB

MacOS
CPU:3コア (x86_64)
RAM:14GB
SSD:14GBのスペース

上記のように仮想マシンとして使用できるOSは、Linux(Ubuntu)・Windows、macOSです。OS以外にも、主要ライブラリ・各種ランタイム・コンパイラなどのソフトウェア開発環境も標準インストールされています。そのため、一般的なサーバーでほとんどの処理は実行可能となります。

この記事では、GitHub Actionsでできることや特徴・制約などの注意点・仮想マシンの実行環境について解説しました。GitHub Actionsは、自動テストや自動ビルドがGitHubだけで実現できるため、システム開発において便利なツールです。この機会に、GitHub Actionsを活用して開発の効率化を目指しましょう。

Udemyおすすめ講座

GitHub Actions と AWS で実現する DevOps 実践講座

GitHub Actions と AWS で実現する DevOps 実践講座

4.4(233 件の評価)

3,119 人の受験生

作成者: 津郷 晶也(Node.js, MongoDB, AWS, Docker, Kubernetes)
Growcite, Inc.(システム開発、クラウド、プロジェクト管理)

GitHubを120%活用して DevOps 環境を構築しよう!

\無料でプレビューをチェック!/

講座を見てみる

評価:★★★★★
github actionsの基本的な流れについて理解できた。code pipelineしか経験がなくgithub actionsについて学べたのは良かった。
他のCICDツールに比べてgithub actionsのメリット等がもう少し分かれば尚、良かった。

評価:★★★★★
GitHub ActionsとTerraformを活用してAWSのDevOps環境の構築方法のイメージを学ぶことができた。Node→AWS→Terraform→本講座と順番に受講してきたが、すべてわかりやすい講座で大変勉強になりました。

Udemy LINE友だちに追加

他のオススメ講座はこちら

Pythonの基本~応用を学べる講座

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

独学で身につけるPython〜基礎編〜【業務効率化・自動化で残業を無くそう!】

爆速で5つのPython Webアプリを開発

「Python」のコース一覧を見る

ゼロからWeb開発を学べる講座

【2023年最新】【JavaScript&CSS】ガチで学びたい人のためのWEB開発実践入門(フロントエンド編)

【HTML,CSS,JS,PHP,Git,Docker】プログラミング初心者OK! ゼロからわかるWebシステム開発

「ウェブ開発」のコース一覧を見る

AWSを基礎から学べる講座

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)

「AWS」のコース一覧を見る

新CCNA試験(200-301)を学べる講座

新CCNA(200-301)完全未経験からの合格講座(コンプリート版)

「Cisco CCNA」のコース一覧を見る


icon関連記事

photo
photo
photo
photo

iconRANKING人気記事ランキング

1
システム開発

【初心者向け】 基本のLinuxコマンド一覧!操作別に紹介

2
Python

【初心者向け】Jupyter Notebookの使い方!インストール方法から解説

3
ブロックチェーン

公開鍵暗号方式とは?初心者でもわかる公開鍵暗号方式の基礎

4
システム開発

Twitter API(X API)とは?できることや料金体系、利用方法を解説

5
開発

システム構成図とは?構成図の種類や書き方・コツを解説

iconRECOMMENDED COURSE人気のUdemy講座

現役シリコンバレーエンジニアが教える次世代インターネットWEB3.0 NFT DeFi 入門講座

現役シリコンバレーエンジニアが教える次世代インターネットWEB3.0 NFT DeFi 入門講座

Google Cloud(GCP)の基礎 - 図解と実践でインフラの基礎を固める 【2025年 最新版】

Google Cloud(GCP)の基礎 - 図解と実践でインフラの基礎を固める 【2025年 最新版】

令和7年版:参考書の著者直伝!【基本情報技術者試験 科目A】講座 基礎理論から経営戦略までの全範囲を網羅

令和7年版:参考書の著者直伝!【基本情報技術者試験 科目A】講座 基礎理論から経営戦略までの全範囲を網羅

最新情報・キャンペーン情報発信中

  • twitter
  • instagram
  • facebook

[8]ページ先頭

©2009-2025 Movatter.jp