MENU

【入門】GitHub Actionsとは?概要やメリット、使用例まとめ

当ページのリンクには広告が含まれています。

システム開発において「作業の自動化」は、コスト削減と品質向上の要です。

特に注目されているのが、世界最大級の開発プラットフォームGitHubが提供する「GitHub Actions」です。サーバー構築不要で、無料で始められるこのツールは、開発プロセス(CI/CD)を自動化し、ビジネスのスピードを加速させます。

この記事では、GitHub Actionsの概要からメリット、そして実際に「Hello World」を出力するまでの手順を初心者向けに解説します。

目次

GitHub Actionsとは?開発を自動化する仕組み

GitHub Actionsとは、GitHubリポジトリ内で起こる様々なイベント(プッシュやプルリクエストなど)をトリガーにして、あらかじめ定義した処理(ワークフロー)を自動実行する機能です。

例えば、「コードを保存(Push)したら、自動でテストを行い、サーバーへアップロード(Deploy)する」といった一連の流れを無人化できます。

CI/CD(継続的インテグレーション/継続的デリバリー)の実現

GitHub Actionsを利用する最大の目的は、CI/CDの導入です。

CI/CDとは、開発の各工程(ビルド・テスト・デプロイ)を自動化し、継続的にサイクルを回す手法のことです。手動作業によるミスをなくし、顧客への価値提供(リリース)を迅速に行うために不可欠な考え方です。

ウォーターフォール開発とアジャイル開発の違い

CI/CDは、現代の主流である「アジャイル開発」と非常に相性が良い手法です。

比較項目ウォーターフォール開発アジャイル開発 (CI/CD推奨)
進め方工程を上流から下流へ順番に完了させる小さな機能単位で開発・リリースを繰り返す
メリット計画・進捗管理がしやすい不具合の早期発見、仕様変更に強い
デメリット手戻りが起きると修正コストが甚大全体のスケジュール管理が複雑になりがち
適性要件が固定された大規模システムWebサービス、スタートアップ開発

GitHub Actionsの構成要素

GitHub Actionsを理解するために、以下の専門用語を押さえておきましょう。

  • Workflow(ワークフロー) 処理全体の流れを定義したファイル(YAML形式)。「いつ」「何をするか」を記述します。
  • Event(イベント) ワークフローを実行するきっかけ。例:「コードがプッシュされた時」「毎日9時になった時」など。
  • Job(ジョブ) 一連の処理の塊。同じランナー(サーバー)上で実行されます。
  • Step(ステップ) ジョブの中で実行される個々のタスクやコマンド。
  • Runner(ランナー) ワークフローを実行するサーバー環境。GitHubが提供する仮想環境(Ubuntuなど)を利用できます。

GitHub Actionsの主なコンポーネント

GitHub Actionsはいくつかのコンポーネンによって構成されています。以下、そのなかでも主な種類をみていきましょう。

Action | あらかじめ定義されたタスクを実行するカスタムアプリケーション

Actionとは定義済の処理を実行する、GitHub Actions専用のカスタムアプリケーションです。既存のActionはGitHub Marketplaceで探せる他、自分でActionを作成することもできます。

主なActionの例

以下、実際にどのようなActionがあるか、主な例をみていきましょう。

<Actionの例>

checkoutリポジトリからファイルをチェックアウトする
upload-artifact任意のファイルを「成果物(artifact)」として保存する
download-artifact「成果物(artifact)」として保存されているファイルをダウンロードする
cache依存関係やビルドをキャッシュして処理を高速化する
github-scriptGitHub APIによりGitHubの各種機能にアクセスする
create-releaseGitHub Release APIにより、リリースを作成する
stale一定期間使われていないイシューやプルリクエストがある場合に警告したり、それらを閉じたりする
labelerプルリクエストにラベルを付与する
delete-package-versionsGitHub Packagesからパッケージのバージョンを削除する
setup-nodeNode.js環境を構築する
setup-pythonPython環境を構築する
setup-goGo環境を構築する
setup-dotnet.NET CLIの環境を構築する
setup-javaJava環境を構築する
toolkitアクションを簡単に作成するのに役立つツールキットを使えるようにする
javascript-actionJavaScriptアクションを生成する
typescript-actionTypeScriptアクションを生成する

なぜGitHub Actionsを選ぶのか?3つのメリット

1. サーバー構築・管理が不要

Jenkinsなどの他のCIツールでは、実行用のサーバーを自分で用意・管理する必要がありますが、GitHub ActionsはGitHubが用意した環境(Runner)をすぐに利用できます。インフラ管理の手間が省けるのは大きなメリットです。

2. GitHubとの強力な連携

ソースコードを管理しているGitHub上でそのまま設定・実行できるため、ツールを行き来する必要がありません。プルリクエストやIssueとの連携もスムーズです。

3. 無料枠が充実している

パブリックリポジトリ(公開設定)なら無料、プライベートリポジトリでもFreeプランで月間2,000分まで無料で利用できます。小規模な開発や学習用途であれば、十分無料枠内で収まります。

【実践】GitHub Actionsの使い方チュートリアル

実際にGitHub Actionsを動かして、「Hello World」と出力する自動化フローを作成してみましょう。

STEP1. リポジトリの準備

GitHub上で新しいリポジトリを作成し、ローカル環境にクローンします。

git clone https://github.com/[ユーザー名]/[リポジトリ名].git
GitHub Actions用のレポジトリ
リポジトリ名の入力

STEP2. ワークフローファイルの作成

リポジトリの中に .github/workflows というフォルダを作成し、その中に test.yml というファイルを作成します。

STEP3. コードの記述

test.yml に以下のコードを記述して保存します。

name: learn-github-actions
on: [push] # コードがプッシュされたら実行
jobs:
check-bats-version:
runs-on: ubuntu-latest # 最新のUbuntu環境を使用
steps:
- run: echo "Hello World" # コマンド実行

STEP4. プッシュして実行確認

作成したファイルをGitHubへプッシュします。

git add .
git commit -m"[Add]test"
git push

プッシュ後、GitHubのリポジトリページにある「Actions」タブをクリックしてください。

Actionメニューの場所

緑色のチェックマークが付けば成功です。ログを確認すると、Run echo "Hello World" の部分でコマンドが実行されていることが確認できます。

GitHub Actionsのログ
手順1
手順2
コマンド実行の確認場所

まとめ

GitHub Actionsを活用することで、テストやデプロイといった「繰り返しの作業」を自動化し、より創造的な開発業務に時間を割くことができます。

まずは簡単なコマンド実行から始めて、徐々に自動化の範囲を広げていきましょう。システム化された開発フローは、あなたのビジネスの強力な基盤となるはずです。

【推奨】業務システム化に有効なアイテム

生成AIを学ぶ

システム化のパートナー(ミラーマスター合同会社)

VPSサーバの選定

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次