Faça merge na main. Está no ar.
O Deploydz roda seus executores auto-hospedados do GitHub Actions a partir da barra de menus do Mac. Faça merge na main e a implantação roda no seu próprio Mac, sem gastar minutos do Actions, e a nuvem ao lado do relógio mostra como foi.
Merge
O GitHub Actions cuida do agendamento. Seu Mac faz o trabalho, com as próprias ferramentas e chaves.
- Você faz merge na main. O GitHub coloca na fila o workflow de implantação do repositório.
- Seu Mac assume. O workflow roda em
[self-hosted, deploy], um executor que o Deploydz mantém rodando, e envia o site. - A barra de menus mostra. O Deploydz lê o estado e o log de cada implantação a cada 2 segundos, e uma notificação avisa quando o site está no ar.
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
Seu Mac
Agora ele é o servidor de build, e o Deploydz o mantém funcionando.
- Um app roda todos os executores
- O Deploydz inicia seus executores quando você inicia sessão, reinicia o que parar e para todos ao ser encerrado. Nada de um LaunchAgent por executor.
- Cada implantação num relance
- Cada site mostra como foi sua última implantação: quando entrou no ar, há quanto tempo está esperando ou a linha em que falhou. O submenu abre a execução no GitHub ou o log da implantação.
- Lançamentos de apps também
- Apps compilados no seu Mac mostram a versão e o último lançamento: a etapa atual, “Lançado há 2 h” ou a etapa que falhou.
- Adicione um executor com um clique
- Escolha um repositório e se ele é um “Site” ou um “App”. O Deploydz baixa o executor, registra com
ghe o inicia. - Seguro com repositórios públicos
- Adicionar um executor a um repositório público faz os pull requests de forks aguardarem sua aprovação, então o fork de um estranho não roda no seu Mac.
- Sem minutos do Actions
- Execuções auto-hospedadas são gratuitas, assim como lançamentos e seus downloads. Nada roda nas máquinas do GitHub, então nada é cobrado.
Instalação
- Baixe o DMG e arraste o Deploydz para Aplicativos. Ele é assinado e notarizado.
- Abra o app. A primeira abertura ativa “Abrir ao iniciar sessão”, e a nuvem aparece ao lado do relógio.
- Adicione um executor. Em Ajustes, + escolhe um dos seus repositórios e se ele é um “Site” ou um “App”.
- Aponte o workflow para ele. O
deploy.ymlde um site roda em[self-hosted, deploy], e o job do Mac norelease.ymlde um app, em[self-hosted, macOS, release].
Do que você precisa
- macOS 15 ou posterior, Apple silicon ou Intel
- O GitHub CLI,
gh, com login feito - Seus repositórios no GitHub
- Um Mac ligado quando você faz merge
Ajuda
Gasta minutos do GitHub Actions?
Não. Execuções auto-hospedadas são gratuitas. Mantenha o orçamento do Actions em US$ 0 nas configurações de cobrança do GitHub, para que um job que algum dia caia nas máquinas do próprio GitHub falhe em vez de ser cobrado.
Um pull request de um fork pode rodar código no meu Mac?
Não sem você. Quando você adiciona um executor a um repositório público, o Deploydz faz os pull requests de forks aguardarem sua aprovação.
A seção Apps não aparece no menu.
O Deploydz consulta o GitHub sobre lançamentos com gh, então verifique se ele está logado com gh auth status.
Um executor aparece com ○ em Executores.
Ele parou, e o Deploydz o reinicia em até 10 segundos. Se ele continuar parando, leia _diag/deploydz.log na pasta desse executor.
O que acontece com os executores quando eu encerro o app?
Eles param junto com o Deploydz e voltam quando ele abre. Parar executores no menu pausa todos sem encerrar o app.
Como ele se atualiza?
Buscar atualizações… baixa a nova versão e só a instala se estiver assinada pelo mesmo desenvolvedor. Ele espera enquanto uma implantação ou lançamento está em andamento, porque reiniciar o Deploydz para os executores.
Um workflow pode instalar ou atualizar o Deploydz?
Não. Reiniciar o Deploydz para todos os executores, inclusive aquele em que o workflow roda. Instale manualmente ou use Buscar atualizações….
No ar
Baixe o Deploydz, adicione um executor e, no próximo merge, o site se implanta sozinho.