APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

GitHub Actionsのワークフローを手動トリガーで実行する

f:id:thanaism:20210823074715p:plain

cronの起動を待つのがつらい

おはこんばんちは!コンテナソリューショングループの髙井です。

GitHub Actionsのワークフローを定期実行させるのに、以下のようにcronを指定したりしますよね。

name: my-ultra-super-great-delicious-workflow

on:
  schedule:
    - cron: '00 19 * * *'

でもこれ、workflow自体の動作確認をサッサと終わらせたいときにちょっと困ります。

とはいえpushとかを指定しちゃうとデバッグのときはいいものの、最後にpushを削除してやる手間も発生します。

てなわけで、普段は悪さをしない形で、かつ好きなタイミングで手動起動できるようにしていきましょう。

workflow_dispatchを使えばOK

いきなり結論から言いますが、workflow_dispatchを指定すればOKです。

具体的には、先ほどのコードに以下のように追記します。

name: my-ultra-super-great-delicious-workflow

on:
  workflow_dispatch:
  schedule:
    - cron: '00 19 * * *'

デフォルトブランチならGitHubのGUI上で起動できる

ワークフローのymlファイルを追加したのがGitHubのデフォルトブランチ上であれば、下記のようにActionsのページからRun workflowにより手動起動できます。

f:id:thanaism:20210823080154p:plain
引用:https://docs.github.com/ja/actions/managing-workflow-runs/manually-running-a-workflow

デフォルトブランチ以外で起動する場合

デフォルトブランチ以外で起動する場合はGitHub CLIを使うのがお手軽です。

公式のInstallationにしたがってインストールすればOKですが、下記の記事でも説明しています。

techblog.ap-com.co.jp

ワークフローの手動起動

GitHub CLIでのログインが完了したら、いよいよワークフローを手動で起動します。

gh workflow run <ワークフロー名> --ref <ブランチ名>

うまくいくと下記のようなメッセージが返ってきます。

 Created workflow_dispatch event for <ワークフローファイル名> at <ブランチ名>

To see runs for this workflow, try: gh run list --workflow=<ワークフローファイル名>

メッセージ通りCLI上で結果も確認できますが、普通にブラウザ上のGUIで確認してしまってもよいでしょう!

また、ワークフローが動いている間は、以下のコマンドで進捗状況をリアルタイムに見ることが可能です。

gh run watch

おわりに

以上で、ワークフローを手動でトリガーできるようになりました。

GitHub CLIにはワークフローの起動の他にも便利なポイントがたくさんあるので、ぜひいろいろ試してみてください!それでは~