Слейте в main. Сайт уже онлайн.
Deploydz запускает ваши собственные раннеры GitHub Actions из строки меню Mac. Слейте изменения в main, и развёртывание пройдёт на вашем же Mac, не тратя ни минуты Actions, а облачко рядом с часами покажет, как всё прошло.
Слияние
GitHub Actions планирует запуски. Работу делает ваш Mac, своими инструментами и ключами.
- Вы сливаете в main. GitHub ставит в очередь рабочий процесс развёртывания из репозитория.
- Ваш Mac берёт его в работу. Процесс идёт на
[self-hosted, deploy], раннере, который Deploydz держит запущенным, и выгружает сайт. - Строка меню это показывает. 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 ч назад» или шаг, на котором случился сбой.
- Раннер в один клик
- Выберите репозиторий и укажите, «Сайт» это или «Приложение». Deploydz скачает раннер, зарегистрирует его через
ghи запустит. - Безопасно для публичных репозиториев
- Когда вы добавляете раннер в публичный репозиторий, пул-реквесты из форков ждут вашего одобрения, так что чужой форк не запустится на вашем Mac.
- Без минут Actions
- Запуски на собственных раннерах бесплатны, как и релизы и их загрузки. На машинах GitHub ничего не запускается, поэтому и платить не за что.
Установка
- Скачайте DMG и перетащите Deploydz в «Программы». Приложение подписано и нотаризовано.
- Откройте его. При первом запуске включается «Запускать при входе», и облачко появляется рядом с часами.
- Добавьте раннер. В настройках нажмите +, выберите один из своих репозиториев и укажите, «Сайт» это или «Приложение».
- Направьте на него рабочий процесс.
deploy.ymlсайта запускается на[self-hosted, deploy], а Mac-задание изrelease.ymlприложения запускается на[self-hosted, macOS, release].
Что нужно
- macOS 15 или новее, Apple silicon или Intel
- GitHub CLI,
gh, с выполненным входом - Ваши репозитории на GitHub
- Mac, включённый в момент слияния
Помощь
Тратит ли он минуты GitHub Actions?
Нет. Запуски на собственных раннерах бесплатны. Держите бюджет Actions на уровне $0 в настройках оплаты GitHub, чтобы задание, которое вдруг попадёт на машины GitHub, завершилось ошибкой, а не выставило счёт.
Может ли пул-реквест из форка запустить код на моём Mac?
Не без вашего участия. Когда вы добавляете раннер в публичный репозиторий, Deploydz заставляет пул-реквесты из форков ждать вашего одобрения.
В меню нет раздела «Приложения».
Deploydz узнаёт о релизах у GitHub через gh, поэтому проверьте вход командой gh auth status.
Раннер в разделе «Раннеры» отмечен ○.
Он остановился, и Deploydz перезапустит его в течение 10 секунд. Если он продолжает останавливаться, прочитайте _diag/deploydz.log в папке этого раннера.
Что будет с раннерами, если завершить Deploydz?
Они останавливаются вместе с Deploydz и снова запускаются, когда он открывается. Остановить раннеры в меню приостанавливает их все без выхода.
Как Deploydz обновляется?
Проверить обновления… скачивает новую версию и устанавливает её, только если она подписана тем же разработчиком. Пока идёт развёртывание или выпуск, обновление ждёт, потому что перезапуск Deploydz останавливает раннеры.
Может ли рабочий процесс установить или обновить Deploydz?
Нет. Перезапуск Deploydz останавливает все раннеры, включая тот, на котором идёт этот процесс. Установите его вручную или используйте Проверить обновления….
Онлайн
Скачайте Deploydz, добавьте раннер, и после следующего слияния сайт развернётся сам.