■ はじめに
Github Actions を調べている時に、
https://dk521123.hatenablog.com/entry/2024/01/28/004128
において、workflow_dispatchで手動実行しようとした際に デフォルトブランチではないと、Githubの画面上に実行ボタンが出てこない という問題があるので、その際の解決策として GitHub CLI なるもので実行すればいいとのことがあったので、調べてみる。
目次
【1】GitHub CLI 【2】GitHub CLIで出来ること 【3】インストール 1)Linux 2)Windows 【4】Github CLI 1)認証関連 2)ワークフロー実行 【5】コマンド例
【1】GitHub CLI
* GitHub の操作するためのCLI(Command Line Interface) => gh コマンドで操作
【2】GitHub CLIで出来ること
https://docs.github.com/ja/github-cli/github-cli/about-github-cli
より抜粋 * リポジトリの表示、作成、複製、フォーク * Issue と pull request の作成、クローズ、編集、一覧表示 * プルリクエストのレビュー、diff、マージ * ワークフローの実行、表示、一覧表示 * リリースの作成、一覧表示、表示、削除 * gist の作成、編集、一覧表示、表示、削除 * codespace の一覧表示、作成、削除、接続 * GitHub API から情報を取得します
【3】インストール
https://github.com/cli/cli#installation
に記載されている。
1)Linux
[a] Debian
https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \ && sudo mkdir -p -m 755 /etc/apt/keyrings \ && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && sudo apt update \ && sudo apt install gh -y # 確認 gh --version # gh version 2.48.0 (2024-04-17) # https://github.com/cli/cli/releases/tag/v2.48.0 # To Uninstall # sudo apt remove gh
[b] Redhut系
sudo yum install -y https://github.com/cli/cli/releases/download/v2.44.1/gh_2.44.1_linux_386.rpm
2)Windows
https://github.com/cli/cli?tab=readme-ov-file#windows
# winget が入っているか確認 $ winget --version v1.7.10661 $ winget install --id GitHub.cli
【4】Github CLI
GitHub CLI manual
https://cli.github.com/manual/
GitHub CLI 一覧
https://cli.github.com/manual/gh
1)認証関連
* gh auth で実行
https://cli.github.com/manual/gh_auth
2)ワークフロー実行
* gh workflow run で実行
https://cli.github.com/manual/gh_workflow_run
構文
gh workflow run [<workflow-id> | <workflow-name>] \ -f [引数] --repo [リポジトリ名] --ref [ブランチ名]
【5】コマンド例
# [1] ログイン $ gh auth login ? What account do you want to log into? GitHub.com ? What is your preferred protocol for Git operations? HTTPS ? Authenticate Git with your GitHub credentials? Yes ? How would you like to authenticate GitHub CLI? Paste an authentication token Tip: you can generate a Personal Access Token here https://github.com/settings/tokens The minimum required scopes are 'repo', 'read:org', 'workflow'. ? Paste your authentication token: ****.... # [2] ワークフロー一覧表示 $ gh workflow list --repo dk521123/github-actions-demo # [3] ワークフローの実行 gh workflow run workflow1.yml -f demoInputValue=Hello --repo dk521123/github-actions-demo # [3]' 複数引数がある場合 echo '{"env":"prod", "demoInputValue":"Hello"}' | gh workflow run workflow1.yml --repo dk521123/github-actions-demo --json
参考文献
https://zenn.dev/snowcait/articles/0e430af5fb1e50
関連記事
Github ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/07/18/234652
Github Actions ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/04/142835
Github Actions ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/06/16/151443
Github Actions ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/12/22/195715
Github Actions ~ ワークフロー制御 ~
https://dk521123.hatenablog.com/entry/2024/01/28/004128
Github Actions ~ workflow_run / workflow_call ~
https://dk521123.hatenablog.com/entry/2024/02/14/232546
Github Actions ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2023/12/21/155224
Github Actions ~ エラー処理 ~
https://dk521123.hatenablog.com/entry/2024/01/01/232057
Github Actions ~ GITHUB_ENV ~
https://dk521123.hatenablog.com/entry/2023/12/29/000840
Github Actions ~ GITHUB_OUTPUT ~
https://dk521123.hatenablog.com/entry/2024/01/30/002943
Github Actions ~ Artifact ~
https://dk521123.hatenablog.com/entry/2024/02/13/021717
Github Actions ~ Self-hosted runners / 入門編 ~
https://dk521123.hatenablog.com/entry/2023/12/18/204119
Github Actions ~ Self-hosted runners / あれこれ編 ~
https://dk521123.hatenablog.com/entry/2024/02/07/002736