Dans le développement récent d'applications Web, CI (intégration continue) et CD (livraison continue) sont importants, et si vous poussez vers un référentiel distant, l'environnement de production sera mis à jour automatiquement, ce qui est pratique.
Cependant, si l'environnement de production est un terminal local, il n'est pas possible d'avoir l'outil CI sur CD, et vous devez retirer la modification à distance à chaque fois, donc c'est ** gênant **
En l'absence de temps comme un hackathon Si l'environnement de production est RaspberryPi, je souhaite réduire le temps et l'effort de saisie des commandes, et encore moins le développement avec RaspberryPi.
J'ai donc créé ** CanDyPi **, un outil de CD qui tire à chaque fois que le référentiel distant est mis à jour si vous le mettez dans RaspberryPi!
~~ Cela vous donnera certainement la plus haute distinction l'année prochaine ~~
CanDyPi
CanDyPi is a Continuous Delivery tool for raspberry Pi.
Facile à faire. Utilisez la fonction webhook de GitHub pour accrocher un webhook à un point de terminaison ngrok transféré depuis un Raspberry Pi. Lorsque CanDyPi reçoit le message de mise à jour du référentiel, exécutez la commande pull pour mettre à jour vers la dernière source.
CanDyPi est écrit en python et utilise flask
pour le serveur et git python
pour les opérations git.
--python 3 série
Peut être utilisé en 4 étapes
Si vous ne le définissez pas sur SSH, vous devrez entrer le mot de passe à chaque fois que vous tirez, de sorte que vous ne serez pas libéré de l'opération de tarte à la râpe ...
Les articles ici seront utiles. Procédure de connexion ssh avec GitHub ~ À partir de la génération de clé publique / clé privée ~
Vous pouvez l'installer avec pip. ㊟ Veuillez installer et exécuter avec la série python3
$ pip install candypi
Facile à exécuter! Donnez le chemin du référentiel que vous voulez CD comme argument. (Par défaut, il démarre sur le port 50000)
$ candypi /Users/tiwasa/sample_project
Spécifiez le port sur lequel candypi a été démarré et démarrez ngrok.
$ ngrok http 50000
ngrok by (Ctrl+C to quit)
Session Status online
Account XXXXXXXX (Plan: Free)
Version 2.2.8
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://XXXXXXXX.ngrok.io -> localhost:50000
Forwarding https://XXXXXXXX.ngrok.io -> localhost:50000
Enregistrez le webhook dans le référentiel que vous souhaitez CD.
Dans Paramètres-> Webhooks sur GitHub, ajoutez Forwarding https: //XXXXXXXX.ngrok.io-> localhost: 50000
de ngrok à l'URL de charge utile de add webhook et ajoutez webhook.
(D'autres éléments peuvent être laissés par défaut.)
Lorsqu'une mise à jour se produit dans la branche principale du référentiel que vous souhaitez CD, la commande pull s'exécutera dans le référentiel local de Raspai pour la mettre à jour.
Je l'ai fait à la fin de l'année, donc je ne l'ai pas encore mis en pratique. N'y a-t-il pas un hackathon abordable?
Si vous vous trouvez en train de l'utiliser, veuillez l'écrire dans le numéro GitHub ou dans la section commentaires de cette page.
Au fait, si vous pouvez placer votre PC de développement sur le même réseau local que Raspai, je pense que le développement à distance vscode est plus pratique. De plus, selon le lieu, il peut être placé sur un autre LAN, donc la valeur d'existence de CanDyPi en vaut également la peine.
···Quand
... je veux penser