Fusionnez dans main. C’est en ligne.
Deploydz fait tourner vos exécuteurs GitHub Actions auto-hébergés depuis la barre des menus du Mac. Fusionnez dans main et le déploiement s’exécute sur votre propre Mac, sans consommer de minutes Actions, et le nuage à côté de l’horloge montre comment ça s’est passé.
Fusion
GitHub Actions s’occupe de la planification. Votre Mac fait le travail, avec ses propres outils et ses clés.
- Vous fusionnez dans main. GitHub met en file d’attente le workflow de déploiement du dépôt.
- Votre Mac le prend en charge. Le workflow s’exécute sur
[self-hosted, deploy], un exécuteur que Deploydz fait tourner, et envoie le site sur le serveur. - La barre des menus l’affiche. Deploydz lit l’état et le journal de chaque déploiement toutes les 2 secondes, et une notification vous prévient quand il est en ligne.
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
Votre Mac
C’est désormais le serveur de build, et Deploydz le fait tourner.
- Une app pour tous les exécuteurs
- Deploydz démarre vos exécuteurs à l’ouverture de session, relance celui qui s’arrête et les arrête tous quand vous le quittez. Pas de LaunchAgent par exécuteur.
- Chaque déploiement en un coup d’œil
- Chaque site montre comment s’est passé son dernier déploiement : quand il est passé en ligne, depuis combien de temps il attend, ou la ligne sur laquelle il a échoué. Son sous-menu ouvre l’exécution sur GitHub ou le journal du déploiement.
- Les versions d’apps aussi
- Les apps compilées sur votre Mac affichent leur version et leur dernière publication : l’étape en cours, « Publié il y a 2 h », ou l’étape qui a échoué.
- Un exécuteur en un clic
- Choisissez un dépôt et indiquez s’il s’agit d’un Site web ou d’une App. Deploydz télécharge l’exécuteur, l’enregistre avec
ghet le démarre. - Sans risque avec les dépôts publics
- Ajouter un exécuteur à un dépôt public fait attendre votre approbation aux pull requests venant de forks, pour que le fork d’un inconnu ne puisse pas tourner sur votre Mac.
- Aucune minute Actions
- Les exécutions auto-hébergées sont gratuites, tout comme les versions et leurs téléchargements. Rien ne tourne sur les machines de GitHub, donc rien n’est facturé.
Installation
- Téléchargez le DMG et glissez Deploydz dans Applications. L’app est signée et notarisée par Apple.
- Ouvrez-la. Le premier lancement active « Ouvrir à la connexion », et le nuage apparaît à côté de l’horloge.
- Ajoutez un exécuteur. Dans les Réglages, + choisit l’un de vos dépôts et s’il s’agit d’un Site web ou d’une App.
- Faites-y pointer le workflow. Le
deploy.ymld’un site web s’exécute sur[self-hosted, deploy], la tâche Mac durelease.ymld’une app sur[self-hosted, macOS, release].
Ce qu’il vous faut
- macOS 15 ou ultérieur, Apple silicon ou Intel
- GitHub CLI,
gh, connecté - Vos dépôts sur GitHub
- Un Mac allumé quand vous fusionnez
Aide
Est-ce que ça consomme des minutes GitHub Actions ?
Non. Les exécutions auto-hébergées sont gratuites. Laissez votre budget Actions à 0 $ dans les réglages de facturation de GitHub, pour qu’une tâche qui atterrirait sur les machines de GitHub échoue au lieu d’être facturée.
Une pull request venant d’un fork peut-elle exécuter du code sur mon Mac ?
Pas sans vous. Quand vous ajoutez un exécuteur à un dépôt public, Deploydz fait attendre votre approbation aux pull requests venant de forks.
Il n’y a pas d’Apps dans le menu.
Deploydz interroge GitHub sur les versions avec gh, vérifiez donc avec gh auth status qu’il est connecté.
Un exécuteur affiche ○ sous Exécuteurs.
Il s’est arrêté, et Deploydz le relance dans les 10 secondes. S’il continue de s’arrêter, lisez _diag/deploydz.log dans le dossier de cet exécuteur.
Que deviennent les exécuteurs quand je quitte l’app ?
Ils s’arrêtent avec Deploydz et redémarrent à son ouverture. Arrêter les exécuteurs dans le menu les met tous en pause sans quitter l’app.
Comment se met-il à jour ?
Rechercher les mises à jour… télécharge la nouvelle version et ne l’installe que si elle est signée par le même développeur. Il attend tant qu’un déploiement ou une publication est en cours, car redémarrer Deploydz arrête les exécuteurs.
Un workflow peut-il installer ou mettre à jour Deploydz ?
Non. Redémarrer Deploydz arrête tous les exécuteurs, y compris celui sur lequel tourne le workflow. Installez-le à la main, ou utilisez Rechercher les mises à jour….
En ligne
Téléchargez Deploydz, ajoutez un exécuteur, et votre prochaine fusion se déploie toute seule.