main にマージ。 公開完了。
Deploydz は、セルフホストの GitHub Actions ランナーを Mac のメニューバーから動かします。main にマージすると、デプロイは Actions の実行時間を使わずに手元の Mac で実行され、時計の横の雲がその結果を表示します。
マージ
スケジュールは GitHub Actions が担当。作業は手元の Mac が、自分のツールと鍵で行います。
- main にマージします。GitHub がリポジトリのデプロイワークフローをキューに入れます。
- 手元の Mac が引き受けます。ワークフローは Deploydz が動かし続けるランナー
[self-hosted, deploy]で実行され、サイトをアップロードします。 - メニューバーに表示されます。Deploydz は 2 秒ごとにすべてのデプロイの状態とログを読み取り、公開されると通知でお知らせします。
on:
push:
branches: [main]
jobs:
deploy:
runs-on: [self-hosted, deploy]
steps:
- uses: actions/checkout@v4
# feeds the menu bar
- run: |
~/www/actions-runner/deploy.sh \
mysite ./deploy.sh
手元の Mac
今やビルドサーバー。Deploydz が動かし続けます。
- すべてのランナーをひとつのアプリで
- Deploydz はログイン時にランナーを起動し、止まったものを再起動し、終了時にはすべて停止します。ランナーごとの LaunchAgent は不要です。
- すべてのデプロイをひと目で
- 各サイトに直近のデプロイの結果が表示されます。公開された時刻、待機している時間、または失敗した行です。サブメニューから GitHub の実行やデプロイのログを開けます。
- アプリのリリースも
- 手元の Mac でビルドするアプリには、バージョンと最新のリリースが表示されます。進行中のステップ、「2 時間前にリリース」、または失敗したステップです。
- ワンクリックでランナーを追加
- リポジトリを選び、Web サイトかアプリかを選ぶだけ。Deploydz がランナーをダウンロードし、
ghで登録して起動します。 - 公開リポジトリでも安全
- 公開リポジトリにランナーを追加すると、フォークからのプルリクエストはあなたの承認待ちになるので、知らない人のフォークが手元の Mac で動くことはありません。
- Actions の実行時間はゼロ
- セルフホストでの実行は無料で、リリースとそのダウンロードも無料です。GitHub のマシンでは何も実行されないので、料金は発生しません。
セットアップ
- DMG をダウンロードし、Deploydz を「アプリケーション」にドラッグします。署名と公証を受けています。
- 開きます。初回の起動で「ログイン時に起動」がオンになり、時計の横に雲が表示されます。
- ランナーを追加します。「設定」の + で、リポジトリをひとつ選び、Web サイトかアプリかを選びます。
- ワークフローの実行先を指定します。Web サイトの
deploy.ymlは[self-hosted, deploy]で、アプリのrelease.ymlの Mac ジョブは[self-hosted, macOS, release]で実行します。
必要なもの
- macOS 15 以降、Apple シリコンまたは Intel
- サインイン済みの GitHub CLI(
gh) - GitHub 上のリポジトリ
- マージするときに起動している Mac
ヘルプ
GitHub Actions の実行時間を消費しますか?
いいえ。セルフホストでの実行は無料です。GitHub の請求設定で Actions の予算を $0 にしておけば、万一ジョブが GitHub のマシンで動いても、課金されずに失敗します。
フォークからのプルリクエストが手元の Mac でコードを実行できますか?
あなたの承認なしにはできません。公開リポジトリにランナーを追加すると、Deploydz はフォークからのプルリクエストをあなたの承認待ちにします。
メニューに「アプリ」がありません。
Deploydz は gh で GitHub にリリースを問い合わせるので、gh auth status でサインインしているか確認してください。
「ランナー」の下に ○ のランナーがあります。
停止しています。Deploydz が 10 秒以内に再起動します。何度も止まる場合は、そのランナーのフォルダにある _diag/deploydz.log を確認してください。
終了するとランナーはどうなりますか?
Deploydz と一緒に停止し、Deploydz を開くと再び起動します。メニューのランナーを停止を使えば、終了せずにすべて一時停止できます。
アップデートの仕組みは?
アップデートを確認…で新しいバージョンをダウンロードし、同じ開発者の署名がある場合にだけインストールします。Deploydz を再起動するとランナーが止まるため、デプロイやリリースの実行中は待機します。
ワークフローから Deploydz をインストールまたはアップデートできますか?
いいえ。Deploydz を再起動すると、そのワークフローが動いているランナーも含め、すべてのランナーが止まります。手動でインストールするか、アップデートを確認…を使ってください。
公開
Deploydz をダウンロードしてランナーを追加すれば、次のマージは自動でデプロイされます。