okaryo.log

actを使ってGitHubActionsをローカルで実行する | okaryo.log

actを使ってGitHubActionsをローカルで実行する

    #GitHubActions#GitHub#CI/CD

はじめに

最近subskunというAndroidアプリをリリースした。

GitHub Actionsを使ってデプロイの自動化を一緒に組んでいたが、毎回ワークフローを組んでpushしてGitHub上で実行してを繰り返していた。

しかし、これでは手間がすごいしGitHub Actionsの無料枠の実行時間を食い潰してしまう。

そこで、ローカルで手軽に実行してデバッグできるようなツールを探したところ、actというものを見つけたので使ってみた。

導入方法

自分の場合はbrewでインストールした。その他にもChocolateyAURなどのパッケージマネージャーでのインストール方法もREADMEで紹介されている。

brew install act

また、actDockerを使って実行されるのでDockerの準備も必要だ。

使い方

# コマンドの基本的な構造
act [<event>] [options]

# イベントもオプションも指定しない場合はデフォルトのpushイベントのワークフローが実行される
act

# プルリクエストをトリガーとするワークフローを実行
act pull_request

# -nまたは--dryrunでドライラン実行
act -n

# -Wまたは--workflowsでワークフローを指定して実行
act -W .github/workflows/sample.yml

# -sまたは--secretsでシークレットのを指定して実行
act -s SECRET_KEY=value

# シークレットファイルを指定して実行
act --secret-file .secret

# 環境変数を指定して実行
act --env ENV_KEY=value

# 環境変数ファイルを指定して実行
act --env-file .env

使ってみての感想

actの実行はDocker依存なのでどうしても実際のGitHub Actionsと環境差異が出てしまうが、ローカルでデバッグできるという手軽さはかなり便利だった。

actREADMEには今回触れなかった注意点も書かれているので、しっかり使っていて何か問題にぶつかった方はまず参照してみるとよさそうだ。


関連記事
最新記事
プロモーション

This site uses Google Analytics.