---
title: act (nektos/act) 調査レポート
tool_name: act
tool_reading: アクト
category: CI/CD周辺ツール
developer: nektos
official_site: https://nektosact.com/
date: '2026-03-25'
last_updated: '2026-07-26'
tags:
- CI/CD
- GitHub Actions
- オープンソース
- 開発者ツール
description: GitHub Actionsのワークフローをローカル環境で実行できるコマンドラインツール。Dockerを使用してローカルでCI/CDパイプラインをシミュレートする。
quick_summary:
has_free_plan: true
is_oss: true
starting_price: 無料
target_users:
- ソフトウェアエンジニア
- DevOpsエンジニア
- OSSメンテナ
latest_highlight: 2026年6月にv0.2.89をリリース。各種依存関係のアップデートによる安定性向上を含む。
update_frequency: 高
evaluation:
score: 85
base_score: 70
plus_points:
- point: 5
reason: 完全無料でGitHub Actionsのローカル実行環境を提供
- point: 5
reason: 開発サイクルの大幅な短縮(プッシュ不要でテスト可能)
- point: 5
reason: 活発なオープンソースコミュニティと頻繁なアップデート
minus_points:
- point: -3
reason: GitHubホステッドランナーとの完全な互換性はない(一部機能制限あり)
- point: -2
reason: Docker環境のセットアップとリソースが必要
summary: GitHub Actionsを利用する開発者にとって必須級のツール。完全な互換性はないものの、開発効率を劇的に向上させる。
links:
github: https://github.com/nektos/act
deepwiki: https://deepwiki.com/nektos/act
codewiki: https://codewiki.google/github.com/nektos/act
documentation: https://nektosact.com/introduction.html
relationships:
parent: GitHub Actions
related_tools:
- Docker
- GitLab CI/CD
- Jenkins
- Lefthook
---
# **act (nektos/act) 調査レポート**
## **1. 基本情報**
* **ツール名**: act (nektos/act)
* **ツールの読み方**: アクト
* **開発元**: nektos (コミュニティ主導のOSS)
* **公式サイト**: [https://nektosact.com/](https://nektosact.com/)
* **関連リンク**:
* GitHub: [https://github.com/nektos/act](https://github.com/nektos/act)
* CodeWiki: [https://codewiki.google/github.com/nektos/act](https://codewiki.google/github.com/nektos/act)
* ドキュメント: [https://nektosact.com/introduction.html](https://nektosact.com/introduction.html)
* レビューサイト: なし (GitHub Stars: 68k+ / 2026年1月時点)
* **カテゴリ**: CI/CD
* **概要**: GitHub Actionsのワークフロー定義ファイル(`.github/workflows`)を読み込み、Dockerコンテナを使用してローカル環境で実行するコマンドラインツール。「Think globally, act locally」を掲げ、クラウドへのプッシュなしでCI/CDパイプラインのテストを可能にする。
## **2. 目的と主な利用シーン**
* **解決する課題**:
* GitHub Actionsの動作確認のために、修正のたびにコミット・プッシュを行う手間と時間の無駄。
* 「コミット→プッシュ→CI失敗→修正」という長いフィードバックループ。
* `Makefile`等のローカルタスクランナーとCI設定の二重管理。
* **想定利用者**:
* GitHub Actionsを利用してCI/CDパイプラインを構築するすべての開発者。
* CIのデバッグに時間を取られているエンジニア。
* **利用シーン**:
* **CIワークフローのローカルデバッグ**: シンタックスエラーやスクリプトの動作をプッシュ前に手元で確認。
* **ローカルタスクランナー**: `Makefile`の代わりにGitHub Actionsの定義を使ってビルドやテストを実行。
* **クリーンな環境でのテスト**: 依存関係が含まれたDockerコンテナ上でテストを実行し、「自分のマシンでは動く」問題を排除。
## **3. 主要機能**
* **ワークフローのローカル実行**: `.github/workflows/` 内のYAMLファイルを解析し、Docker APIを通じてジョブを実行。
* **イベントトリガーのシミュレーション**: `push` や `pull_request` などのGitHubイベントをローカルで発火させてワークフローを実行。
* **アーティファクトの利用**: アクション間でのデータの受け渡しやアーティファクトの保存・利用をサポート。
* **シークレット管理**: ローカルの `.secrets` ファイルを通じて、APIキーなどの機密情報を安全に注入可能。
* **プラットフォーム指定**: `-P` オプションにより、ジョブを実行するDockerイメージ(Ubuntuなど)をカスタマイズ可能。
* **ドライラン**: 実際の実行を行わずに、どのジョブが実行されるかを確認する機能(`act -n`)。
* **特定のジョブのみ実行**: ワークフロー全体ではなく、特定のジョブを指定して実行可能(`act -j job_name`)。
## **4. 動作原理・システム構成**
* **アーキテクチャ**: ローカルファーストのクライアント・Dockerデーモン構成
* **主要コンポーネントとデータフロー**:
* act CLIがプロジェクトルートの`.github/workflows`を解析する。
* 各ジョブに必要なDockerイメージをプルし、コンテナを立ち上げる。
* ソースコードや環境変数、シークレットをコンテナ内にマウント/注入してステップを実行する。
* **特筆すべき要素技術**:
* **Docker API**: コンテナのライフサイクル管理に利用。
* **Go言語**: 軽量でクロスプラットフォームなCLIとして実装。
```mermaid
flowchart TD
User([ユーザー]) -->|actコマンド実行| CLI[act CLI]
CLI -->|解析| YAML[.github/workflows/*.yml]
CLI -->|通信| DockerDaemon[Dockerデーモン]
subgraph DockerDaemon [Docker環境]
Container1[Job 1 コンテナ]
Container2[Job 2 コンテナ]
end
DockerDaemon -->|作成・実行| Container1
DockerDaemon -->|作成・実行| Container2
Source[ソースコード] -.->|マウント| Container1
Source -.->|マウント| Container2
Secrets[.secrets] -.->|環境変数として注入| Container1
Secrets -.->|環境変数として注入| Container2
```
## **5. 開始手順・セットアップ**
* **前提条件**:
* Docker Engine (または Docker Desktop) がインストールされ、実行されていること。
* Git がインストールされていること。
* **インストール/導入**:
```bash
# macOS (Homebrew)
brew install act
# Windows (Chocolatey)
choco install act-cli
# Linux (Curl)
curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
```
* **初期設定**:
* 初回実行時にデフォルトのDockerイメージサイズ(Large/Medium/Micro)を選択するプロンプトが表示される。
* `.actrc` ファイルにデフォルトの引数を設定可能。
* **クイックスタート**:
```bash
# リポジトリのルートディレクトリで実行(デフォルトですべてのpushイベントを実行)
act
# 特定のイベント(例: pull_request)をトリガーとして実行
act pull_request
```
## **6. 特徴・強み (Pros)**
* **高速なフィードバックループ**: コード変更からテスト結果確認までの時間を数分〜数十分から数秒〜数分に短縮できる。コミット履歴を汚さずに試行錯誤が可能。
* **GitHub Actionsとの互換性**: 標準のYAML構文をそのまま解釈するため、特別な設定ファイルを追加で書く必要がない。
* **環境の一貫性**: Dockerコンテナ上で実行されるため、ローカル環境の汚れや依存関係の差異に影響されにくい。
* **クロスプラットフォーム**: Windows, Mac, Linuxのいずれでも動作(Dockerが必要)。
## **7. 弱み・注意点 (Cons)**
* **完全な互換性ではない**: GitHubホステッドランナーの環境を完全に再現できるわけではない。特にプリインストールされているソフトウェアの違いがある。
* **Docker依存**: 実行にはDocker Engineが必要であり、Docker Desktop等のライセンスやリソース消費(CPU/メモリ)の影響を受ける。
* **Docker in Dockerの複雑さ**: ワークフロー内でさらにDockerを使用する場合(Serviceコンテナなど)、設定が複雑になりトラブルが発生しやすい。
* **Apple Silicon (M1/M2/M3) の課題**: 一部のx86_64ベースのDockerイメージを使用する際、エミュレーションによりパフォーマンスが低下する場合がある。
## **8. 料金プラン**
| プラン名 | 料金 | 主な特徴 |
|---------|------|---------|
| **OSS (MIT License)** | 無料 | すべての機能を無制限に利用可能。 |
* **課金体系**: 完全無料(オープンソース)。
* **無料トライアル**: なし(最初から全機能利用可能)。
## **9. 導入実績・事例**
* **導入企業**: 特定の企業導入リストは公開されていないが、GitHub Star数68,000超(2026年1月)という数字が広範な利用を示している。
* **導入事例**:
* **OSSプロジェクト**: コントリビューションガイドラインに「PR作成前に `act` でテストを通すこと」を推奨するプロジェクトが多数存在。
* **個人開発者**: プライベートリポジトリの無料枠(Actions実行時間)を節約するためにローカルでテストを完結させる。
* **対象業界**: Web開発、クラウドネイティブ開発、DevOpsを採用している全業界。
## **10. サポート体制**
* **ドキュメント**: [User Guide](https://nektosact.com/) が整備されており、インストールから高度な設定まで網羅されている。
* **コミュニティ**: GitHub Discussions と Issues が非常に活発。ユーザー同士の助け合いや開発者からのレスポンスがある。
* **公式サポート**: 企業による有償サポートはない。コミュニティサポートのみ。
## **11. エコシステムと連携**
### **11.1 API・外部サービス連携**
* **API**: 外部から制御するための公式Web APIはないが、CLIツールとしてスクリプトから呼び出し可能。
* **外部サービス連携**:
* **Docker**: 実行基盤として必須。
* **GitHub**: APIトークンを使用することで、GitHub上のリポジトリ情報やパッケージと連携可能。
* **VS Code**: 公式拡張機能ではないが、`act` を統合するサードパーティ製拡張機能が存在する。
### **11.2 技術スタックとの相性**
| 技術スタック | 相性 | メリット・推奨理由 | 懸念点・注意点 |
|:---|:---:|:---|:---|
| **Node.js / JS / TS** | ◎ | 軽量なコンテナで高速に動作。 | 特になし |
| **Python** | ◎ | Python環境のセットアップが容易。 | 特になし |
| **Go** | ◎ | コンパイル・テストが高速。 | 特になし |
| **iOS / macOS** | × | DockerはLinuxコンテナがベースのため動作不可。 | macOS固有の機能(Xcode等)は利用できない。 |
| **Windows** | △ | Docker上でWindowsコンテナを使う必要があり設定が複雑。 | 基本的にはLinuxベースのワークフロー向け。 |
## **12. セキュリティとコンプライアンス**
* **認証**: GitHub Personal Access Token (PAT) を `-s GITHUB_TOKEN=...` で渡すことでプライベートリポジトリにアクセス可能。
* **データ管理**: すべてのデータはローカルマシン内で完結し、外部サーバーへの送信は行われない(GitHub APIを叩く場合を除く)。
* **準拠規格**: OSSのため特定の認証は取得していないが、コードは公開されており透明性が高い。
## **13. 操作性 (UI/UX) と学習コスト**
* **UI/UX**: シンプルなCLI。実行結果はGitHub ActionsのウェブUIのログに似た形式でカラー出力され、視認性が高い。
* **学習コスト**: DockerとGitHub Actionsの基本知識があれば、追加の学習コストは非常に低い。数個のコマンドオプションを覚えるだけで使える。
## **14. ベストプラクティス**
* **効果的な活用法 (Modern Practices)**:
* **軽量イメージの利用**: `-P ubuntu-latest=node:16-buster-slim` のように、必要なツールだけが入った軽量Dockerイメージを指定することで実行速度を上げる。
* **Makeでのラップ**: `Makefile` に `test: act` のように記述し、開発者がコマンド一発で実行できるようにする。
* **陥りやすい罠 (Antipatterns)**:
* **シークレットのコミット**: `.secrets` ファイルを誤ってGitにコミットしてしまう。必ず `.gitignore` に追加すること。
* **過度な信頼**: 「`act` で動いたから本番でも動く」と思い込み、GitHub上での最終確認を怠る。環境差異による失敗はあり得る。
## **15. ユーザーの声(レビュー分析)**
* **調査対象**: GitHub Issues, Twitter (X), Tech Blogs (Qiita, Zenn, Dev.to)
* **総合評価**: 非常に好評。特に「待ち時間」に不満を持つ開発者から熱烈に支持されている。
* **ポジティブな評価**:
* 「もう "fix ci", "retry" といったゴミコミットを量産しなくて済むのが最高。」
* 「飛行機の中など、オフラインでもCIの一部を動かせるのが便利。」
* 「デバッグサイクルが圧倒的に速くなった。」
* **ネガティブな評価 / 改善要望**:
* 「GitHubホステッドランナーに入っているツールがなくてコケることがある(Imageの差異)。」
* 「M1 MacだとDockerの挙動が遅かったり、アーキテクチャ違いで動かないアクションがある。」
* 「`services` (DBなど) の立ち上げでトラブルが起きがち。」
* **特徴的なユースケース**:
* CIの設定ファイルを「ローカル開発環境のセットアップスクリプト」として兼用し、新規参画者の環境構築を自動化する。
## **16. 直近半年のアップデート情報**
* **2026-06-01 (v0.2.89)**: 各種依存関係のアップデートによる安定性向上。
* **2026-05-01 (v0.2.88)**: go.opentelemetry.io などの依存関係アップデートによる安定性向上。
* **2026-04-01 (v0.2.87)**: アクションのピン留め修正などのバグフィックス。
* **2026-03-25 (v0.2.86)**: Node.js 20非推奨対応や各種依存関係のアップデート。
* **2026-03-23 (v0.2.85)**: go.opentelemetry.io、go-gitなどの依存関係アップデートによる安定性向上。
* **2026-01-01 (v0.2.84)**: メンテナンスリリース。依存パッケージのセキュリティアップデートとバグ修正。
* **2025-12-01 (v0.2.83)**: Mergify設定の更新など、開発フロー周辺の改善。
* **2025-10-01 (v0.2.82)**: 依存関係のアップデートによる安定性向上。
* **2025-09-01 (v0.2.81)**: Matrix展開ロジックの修正や、ステップコンテナのワークディレクトリ処理の修正。
(出典: [GitHub Releases](https://github.com/nektos/act/releases))
## **17. 類似ツールとの比較**
### **17.1 機能比較表 (星取表)**
| 機能カテゴリ | 機能項目 | act | GitHub Actions (Cloud) | GitLab CI/CD | Jenkins |
|:---:|:---|:---:|:---:|:---:|:---:|
| **実行環境** | ローカル実行 | ◎
Dockerで再現 | ×
不可 | ◯
gitlab-runner execによるローカル実行 | ×
基本的にサーバー必要 |
| **互換性** | Actions構文 | ◎
ネイティブ対応 | ◎
本家 | ×
GitLab CI構文 | ×
Jenkinsfile等独自構文 |
| **セットアップ** | 容易さ | ◯
Installのみ | ◎
不要 | ◯
Runner設定が必要 | △
サーバーとプラグイン設定が必要 |
| **コスト** | 無料利用 | ◎
完全無料 | ◯
制限あり | ◯
SaaSは制限あり | ◎
完全無料 |
| **運用機能** | Scheduled Workflows | △
cron手動対応 | ◎
タイムゾーン指定対応 | ◯
対応 | ◎
対応 |
| **AI/高度機能** | Agentic SAST | ×
非対応 | ×
非対応 | ◎
脆弱性解決AI(GA) | ×
非対応 |
### **17.2 詳細比較**
| ツール名 | 特徴 | 強み | 弱み | 選択肢となるケース |
|---------|------|------|------|------------------|
| **act** | GitHub Actionsローカルランナー | Actionsの資産をそのまま使える。無料。 | 完全な環境再現は困難。Docker必須。 | GitHub Actionsを利用しており、ローカルで高速にフィードバックを得たい場合。 |
| **GitHub Actions (Cloud)** | 本家クラウド実行環境 | 完全な互換性。セットアップ不要。並列実行能力。 | フィードバックが遅い。デバッグがしにくい。 | 最終的な動作確認、本番デプロイ、重い処理。 |
| **GitLab CI/CD** | GitLabの統合CI/CD | GitHubへの依存なく利用可能。要件を満たせばローカル実行も可能。 | GitHub Actions構文との互換性がない。 | メインのリポジトリがGitLabである場合。 |
| **Jenkins** | 汎用CI/CDサーバー | 強力なプラグインエコシステム。複雑なパイプライン構築が可能。 | 運用コストが高い。セットアップが煩雑。 | 大規模なパイプラインや特殊な環境構築が必要な場合。 |
## **18. 総評**
* **総合的な評価**:
`act` は、GitHub Actionsを中心とした現代の開発ワークフローにおいて、**開発者体験(DX)を大きく向上させる重要なピース**である。クラウド上のCIの結果を待つという「無駄な時間」を排除できる点は、個人の生産性だけでなくチーム全体の速度向上に寄与する。
* **推奨されるチームやプロジェクト**:
* GitHub ActionsをメインのCI/CDとして採用しているすべてのプロジェクト。
* CIパイプラインの修正や保守を行う頻度が高いDevOpsチーム。
* **選択時のポイント**:
* 「ローカルでの事前検証用」と割り切り、最終的な品質保証はクラウド上のGitHub Actionsで行うという運用設計ができるかどうかが鍵となる。完全な互換性を求めすぎると、Docker環境の調整に時間を取られるため注意が必要。