TL

Product Profile

GitHub Actions

GitHub / CI/CD(GitHub 統合)

GitHub に統合された CI/CDリポジトリのイベントをきっかけに YAML のワークフローを自動実行する

TL;DR要点だけ先に
  • 1.GitHub 内蔵の CI/CD。push などで YAML を自動実行。
  • 2.Marketplace のアクション流用で設定が手軽・運用不要。
  • 3.GitHub 中心なら最有力。Jenkins ほどの自由度は不要な時に。

Specifications

基本情報

Introducing

GitHub Actions のロゴ
GitHub ActionsGitHub に統合された CI/CD。リポジトリのイベントをきっかけに YAML のワークフローを自動実行する。
種別
CI/CDGitHub 統合)
提供元
GitHub
ライセンス
GitHub に付随無料枠+従量)
登場
2019年
最大の強み
GitHub と密結合で設定が手軽公開アクション(Marketplace)が豊富
代表的な用途
テスト/ビルド/デプロイの自動化OSS・一般的な CI/CD

Decision Guide

選定ポイント

採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。

Why It Fits

選ぶ理由

  1. GitHub と密結合で設定が手軽
  2. 公開アクション(Marketplace)が豊富
  3. マネージドで運用不要

Trade-offs

考慮すべき点

  1. GitHub 前提
  2. 特殊要件はセルフホストランナーが要る

Deep Dive

もっと詳しく

どんなツールか

GitHub Actions は、GitHub に統合された CI/CD サービスです。コードのプッシュやプルリクエストといった GitHub 上のイベントをきっかけに、ビルド・テスト・デプロイといった処理を自動で走らせられます。

「結局なに?」を一言でいえば、リポジトリと一体で動く自動化の仕組みです。別のサーバを立てる必要がなく、GitHub を使っていればすぐに導入できます。

特徴・仕組み

処理の内容は YAML で書いた「ワークフロー」ファイルとして定義し、リポジトリの .github/workflows/ に置きます。

on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm test

uses: で参照しているのが「アクション」で、チェックアウトやデプロイなどの定型処理を再利用できる部品です。マーケットプレイスに多数公開されており、組み合わせてワークフローを組み立てられます。

得意・不得意

  • GitHub 上のイベントと密に連携でき、設定が少なく導入が容易。
  • 再利用可能なアクションが豊富で、定型処理を自分で書かずに済む。
  • 反面、GitHub を使っていることが前提になる。他のソース管理が中心の環境には向かない。

いつ使うか(他との違い)

すでに GitHub でコードを管理しているなら、まず候補に挙がります。Jenkins のように専用サーバを自前で運用する手間がなく、リポジトリと同じ場所で完結するのが利点です。

GitLab を使うなら GitLab CI、というように、ソース管理基盤に合わせて選ぶのが自然な使い分けです。

Implementation View

GitHub Actionsを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

テスト/ビルド/デプロイの自動化

比較で見る軸

種別: CI/CD(GitHub 統合) / 提供元: GitHub / ライセンス: GitHub に付随(無料枠+従量)

導入後に効く点

公開アクション(Marketplace)が豊富

先に潰すリスク

GitHub 前提

数字・仕様の読み方
種別
CI/CD(GitHub 統合)
提供元
GitHub
ライセンス
GitHub に付随(無料枠+従量)
登場
2019年

判断チェックリスト

  • 自社の用途が「テスト/ビルド/デプロイの自動化 / OSS・一般的な CI/CD」に近いか確認する。
  • 強みである「GitHub と密結合で設定が手軽」が本当に評価軸になるか確認する。
  • 注意点の「GitHub 前提」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

テスト/ビルド/デプロイの自動化OSS・一般的な CI/CD

Best Fit

こんな用途に向く

テスト/ビルド/デプロイの自動化OSS・一般的な CI/CD
公式サイト