Scalasz do main. Strona już działa.
Deploydz uruchamia Twoje własne runnery GitHub Actions z paska menu Maca. Po scaleniu do main wdrożenie wykonuje się na Twoim Macu, bez zużywania minut Actions, a chmurka obok zegara pokazuje, jak poszło.
Scalenie
Harmonogramem zajmuje się GitHub Actions. Pracę wykonuje Twój Mac, własnymi narzędziami i kluczami.
- Scalasz do main. GitHub ustawia w kolejce workflow wdrożenia z repozytorium.
- Twój Mac go przejmuje. Workflow działa na
[self-hosted, deploy], runnerze, który Deploydz utrzymuje w działaniu, i wysyła stronę na serwer. - Pasek menu to pokazuje. Deploydz co 2 sekundy odczytuje stan i log każdego wdrożenia, a powiadomienie mówi, kiedy strona jest online.
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
Twój Mac
Teraz to on jest serwerem buildów, a Deploydz dba o to, by działał.
- Jedna aplikacja dla wszystkich runnerów
- Deploydz uruchamia runnery, gdy się logujesz, restartuje ten, który się zatrzyma, i zatrzymuje wszystkie, gdy sam kończy działanie. Bez osobnego LaunchAgenta dla każdego runnera.
- Wszystkie wdrożenia na pierwszy rzut oka
- Każda strona pokazuje, jak poszło jej ostatnie wdrożenie: kiedy trafiła online, jak długo już czeka albo wiersz, na którym wystąpił błąd. Podmenu otwiera przebieg na GitHubie lub log wdrożenia.
- Także wydania aplikacji
- Aplikacje budowane na Twoim Macu pokazują swoją wersję i ostatnie wydanie: bieżący krok, „Wydano 2 godz. temu” albo krok, który się nie powiódł.
- Runner jednym kliknięciem
- Wybierz repozytorium i określ, czy to „Strona”, czy „Aplikacja”. Deploydz pobierze runnera, zarejestruje go przez
ghi uruchomi. - Bezpiecznie z publicznymi repozytoriami
- Dodanie runnera do publicznego repozytorium sprawia, że pull requesty z forków czekają na Twoje zatwierdzenie, więc cudzy fork nie uruchomi się na Twoim Macu.
- Bez minut Actions
- Uruchomienia na własnych runnerach są darmowe, podobnie jak wydania i ich pobrania. Nic nie działa na maszynach GitHuba, więc nic nie jest naliczane.
Instalacja
- Pobierz plik DMG i przeciągnij Deploydz do folderu Aplikacje. Aplikacja jest podpisana i notaryzowana.
- Otwórz ją. Pierwsze uruchomienie włącza „Uruchamiaj przy logowaniu”, a chmurka pojawia się obok zegara.
- Dodaj runnera. W Ustawieniach kliknij +, wybierz jedno ze swoich repozytoriów i określ, czy to „Strona”, czy „Aplikacja”.
- Skieruj na niego workflow.
deploy.ymlstrony działa na[self-hosted, deploy], a zadanie Maca wrelease.ymlaplikacji na[self-hosted, macOS, release].
Czego potrzebujesz
- macOS 15 lub nowszy, Apple silicon lub Intel
- GitHub CLI,
gh, z aktywnym logowaniem - Twoje repozytoria na GitHubie
- Mac włączony, gdy scalasz
Pomoc
Czy zużywa minuty GitHub Actions?
Nie. Uruchomienia na własnych runnerach są darmowe. Ustaw budżet Actions na 0 USD w ustawieniach rozliczeń GitHuba, aby zadanie, które kiedyś trafi na maszyny GitHuba, zakończyło się błędem zamiast naliczać opłaty.
Czy pull request z forka może uruchomić kod na moim Macu?
Nie bez Twojej zgody. Gdy dodajesz runnera do publicznego repozytorium, Deploydz sprawia, że pull requesty z forków czekają na Twoje zatwierdzenie.
W menu nie ma sekcji Aplikacje.
Deploydz pyta GitHuba o wydania przez gh, więc sprawdź poleceniem gh auth status, czy jest zalogowany.
Runner ma ○ w podmenu Runnery.
Zatrzymał się, a Deploydz uruchomi go ponownie w ciągu 10 sekund. Jeśli wciąż się zatrzymuje, przeczytaj _diag/deploydz.log w folderze tego runnera.
Co dzieje się z runnerami, gdy zakończę Deploydz?
Zatrzymują się razem z Deploydz i startują ponownie, gdy go otworzysz. Zatrzymaj runnery w menu wstrzymuje je wszystkie bez zamykania aplikacji.
Jak Deploydz się uaktualnia?
Sprawdź uaktualnienia… pobiera nową wersję i instaluje ją tylko wtedy, gdy jest podpisana przez tego samego twórcę. Czeka, gdy trwa wdrożenie lub wydanie, bo ponowne uruchomienie Deploydz zatrzymuje runnery.
Czy workflow może zainstalować lub uaktualnić Deploydz?
Nie. Ponowne uruchomienie Deploydz zatrzymuje wszystkie runnery, łącznie z tym, na którym działa workflow. Zainstaluj go ręcznie albo użyj Sprawdź uaktualnienia….
Online
Pobierz Deploydz, dodaj runnera, a po następnym scaleniu strona wdroży się sama.