


Ausführliche Erläuterung der automatisierten Node-Bereitstellungsmethode
In diesem Artikel wird hauptsächlich die Methode der automatischen Bereitstellung von Node vorgestellt. Der Herausgeber findet sie recht gut. Jetzt werde ich sie mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
Wenn wir das Node-Projekt aktualisieren und iterieren, müssen wir die folgenden Schritte ausführen:
git push Senden Sie den Code an das Code-Repository
Führen Sie git pull auf dem Server aus, um den neuesten Code abzurufen
pm2 startet Ihren Code und führt ihn aus
Das ist in Ordnung. , aber sobald das Projekt zu schnell aktualisiert und iteriert wird, müssen Sie die oben genannten Schritte ständig wiederholen und zwischen verschiedenen Bash-Panels hin und her wechseln, was sehr mühsam ist.
Zu diesem Zeitpunkt feiern Webhooks ihr Debüt!
Für Webhooks lautet die Erklärung von Github:
Mit Webhooks können Sie Integrationen erstellen oder einrichten, die bestimmte Ereignisse auf GitHub.com abonnieren.
Um es einfach auszudrücken: Mithilfe von Webhooks können wir nun einen Blick darauf werfen, wie das geht
Konfigurationsskript
Dieser Absatz Der Inhalt des Skripts ist das, was der Server automatisch ausführen muss
# autoBuild.sh #! /bin/bash git reset --hard origin/master git clean -f git pull npm start
Hinweis: Dieses Skript wird automatisch auf dem Server ausgeführt
Js-Dateiausführungsskript schreiben
Da ich Github als Code-Repository verwende, verwenden wir hier die Github-Webhooks-Handler-Bibliothek, um die Ausführung unserer Skripte zu automatisieren
Laut Dokumentation schreiben wir die js-Datei folgendermaßen:
// autoBuild.js var http = require('http') var spawn = require('child_process').spawn var createHandler = require('github-Webhooks-handler') var handler = createHandler({ path: '/pushCode', secret: '' }) // 在代码仓库的 Webhooks 选项处配置 http.createServer(function (req, res) { handler(req, res, function (err) { res.statusCode = 404; res.end('no such location') }) }).listen(7777) handler.on('error', function (err) { console.error('Error:', err.message) }) // 监听 push 事件 handler.on('push', function (event) { console.log('Received a push event for %s to %s', event.payload.repository.name, event.payload.ref) rumCommand('sh', ['./autoBuild.sh'], function( txt ) { // 执行 autoBuild.sh 脚本文件 console.log(txt) }) }) function rumCommand( cmd, args, callback ) { var child = spawn( cmd, args ) var response = '' child.stdout.on('data', function( buffer ){ response += buffer.toString(); }) child.stdout.on('end', function(){ callback( response ) }) }
In app.js setzen wir den Port auf 3001, und der Code hier nicht veröffentlicht ist, finden Sie den gesamten Beispielcode dieses Tutorials im Github-Link am Ende des Artikels
Nginx-Konfiguration
Da unser Beispielcode auf Port 3001 läuft, läuft die js-Datei, die die automatische Bereitstellung durchführt, auf Port 7777, daher müssen wir Nginx so konfigurieren, dass diese beiden Ports aktiviert werden:
# 启用 7777 端口 server { listen 7777; listen [::]:7777 server_name huangxizhou.com; #在这里填上你自己的服务器 ip 地址或者域名 root /var/www/html/auto-build; } # 启用 3001 端口 server { listen 3001; listen [::]:3001 server_name huangxizhou.com; #在这里填上你自己的服务器 ip 地址或者域名 root /var/www/html/auto-build; }
Auf diese Weise wird Nginx nun konfiguriert.
Webhooks-Konfiguration
Zuerst betreten wir das Warehouse Klicken Sie dort, wo Sie die automatische Bereitstellung implementieren möchten, auf „Einstellungen“ –> Wählen Sie in der Datei den Inhaltstyp aus:
application/json
Wenn wir das Projekt zum ersten Mal bereitstellen, müssen wir dies noch manuell tun.
Übermitteln Sie zuerst den Code an das Code-Repository (hier ist Github) und geben Sie dann den Server ein, um ihn auszuführen
Auf diese Weise haben wir unseren Knotencode erfolgreich bereitgestellt für die automatische Bereitstellung
Ändern wir den Code, um den Effekt auszuprobieren git pull
git push
Schauen Sie sich Github noch einmal an
Die Schnittstelle wurde automatisch ausgelöst und die automatisierte Knotenbereitstellung ist erfolgreich
Schließlich
Diese Technologie ist nicht auf Node beschränkt
Es gibt auch Einschränkungen. Sie kann nur automatisch für ein einzelnes Projekt bereitgestellt werden und muss auf das Code-Warehouse angewiesen sein
Automatisierte Bereitstellung von MySQL 5.6-Schritten
Vom Programmierer automatisiertes Bereitstellungstool für PHP-Websites
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der automatisierten Node-Bereitstellungsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Das Windows-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt und seine neue Version Win11 hat viel Aufmerksamkeit erregt. Im Win11-System ist die Erlangung von Administratorrechten ein wichtiger Vorgang. Mit Administratorrechten können Benutzer weitere Vorgänge und Einstellungen auf dem System durchführen. In diesem Artikel wird ausführlich beschrieben, wie Sie Administratorrechte im Win11-System erhalten und wie Sie Berechtigungen effektiv verwalten. Im Win11-System werden Administratorrechte in zwei Typen unterteilt: lokaler Administrator und Domänenadministrator. Ein lokaler Administrator verfügt über vollständige Administratorrechte für den lokalen Computer

Detaillierte Erläuterung der Divisionsoperation in OracleSQL In OracleSQL ist die Divisionsoperation eine häufige und wichtige mathematische Operation, die zur Berechnung des Ergebnisses der Division zweier Zahlen verwendet wird. Division wird häufig in Datenbankabfragen verwendet. Daher ist das Verständnis der Divisionsoperation und ihrer Verwendung in OracleSQL eine der wesentlichen Fähigkeiten für Datenbankentwickler. In diesem Artikel werden die relevanten Kenntnisse über Divisionsoperationen in OracleSQL ausführlich erörtert und spezifische Codebeispiele als Referenz für die Leser bereitgestellt. 1. Divisionsoperation in OracleSQL

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

Der Modulo-Operator (%) in PHP wird verwendet, um den Rest der Division zweier Zahlen zu ermitteln. In diesem Artikel werden wir die Rolle und Verwendung des Modulo-Operators im Detail besprechen und spezifische Codebeispiele bereitstellen, um den Lesern ein besseres Verständnis zu erleichtern. 1. Die Rolle des Modulo-Operators Wenn wir in der Mathematik eine ganze Zahl durch eine andere ganze Zahl dividieren, erhalten wir einen Quotienten und einen Rest. Wenn wir beispielsweise 10 durch 3 dividieren, ist der Quotient 3 und der Rest ist 1. Um diesen Rest zu ermitteln, wird der Modulo-Operator verwendet. 2. Verwendung des Modulo-Operators In PHP verwenden Sie das %-Symbol, um den Modul darzustellen

Detaillierte Erläuterung der Funktion system() des Linux-Systems Der Systemaufruf ist ein sehr wichtiger Teil des Linux-Betriebssystems. Er bietet eine Möglichkeit, mit dem Systemkernel zu interagieren. Unter diesen ist die Funktion system() eine der am häufigsten verwendeten Systemaufruffunktionen. In diesem Artikel wird die Verwendung der Funktion system() ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Grundlegende Konzepte von Systemaufrufen Systemaufrufe sind eine Möglichkeit für Benutzerprogramme, mit dem Betriebssystemkernel zu interagieren. Benutzerprogramme fordern das Betriebssystem an, indem sie Systemaufruffunktionen aufrufen

Detaillierte Erläuterung des Linux-Befehls „curl“ Zusammenfassung: Curl ist ein leistungsstarkes Befehlszeilentool für die Datenkommunikation mit dem Server. In diesem Artikel wird die grundlegende Verwendung des Curl-Befehls vorgestellt und tatsächliche Codebeispiele bereitgestellt, um den Lesern zu helfen, den Befehl besser zu verstehen und anzuwenden. 1. Was ist Locken? Curl ist ein Befehlszeilentool zum Senden und Empfangen verschiedener Netzwerkanfragen. Es unterstützt mehrere Protokolle wie HTTP, FTP, TELNET usw. und bietet umfangreiche Funktionen wie Datei-Upload, Datei-Download, Datenübertragung und Proxy

So löschen Sie die Automatisierung von Apple-Verknüpfungen Mit der Einführung des neuen iOS13-Systems von Apple können Benutzer Verknüpfungen (Apple Shortcuts) verwenden, um verschiedene Mobiltelefonvorgänge anzupassen und zu automatisieren, was das Mobiltelefonerlebnis des Benutzers erheblich verbessert. Manchmal müssen wir jedoch möglicherweise einige Verknüpfungen löschen, die nicht mehr benötigt werden. Wie kann man also die Automatisierung von Apple-Kurzbefehlsbefehlen löschen? Methode 1: Löschen Sie über die Shortcuts-App. Öffnen Sie auf Ihrem iPhone oder iPad die App „Shortcuts“. Wählen Sie in der unteren Navigationsleiste aus

Hier sind fünf Möglichkeiten, wie künstliche Intelligenz das Hardware-Design im Jahr 2024 beeinflussen wird, von der Beschleunigung des Brainstorming-Prozesses bis hin zur frühzeitigen Erkennung von Designfehlern. Die Mission jedes Hardware-Teams besteht darin, Innovationen voranzutreiben, bahnbrechende Produkte zu entwickeln und diese pünktlich und im Rahmen des Budgets zu liefern. Dieses Ziel ist jedoch häufig aufgrund langer Hardware-Design- und Entwicklungszyklen, ineffizienter Prozesse und fehlender Ressourcen gefährdet. Obwohl andere Branchen die KI-Technologie schnell übernehmen, steckt die Anwendung von KI auf dem Hardwaremarkt noch in den Kinderschuhen. Erst seit kurzem zeigen Hardware-Teams ernsthaftes Interesse am Potenzial künstlicher Intelligenz. Bei richtiger Anwendung dürfte künstliche Intelligenz diese Situation ändern. Die Hardware-Welt scheint mehr Zeit und Ressourcen zu benötigen, um sich an diesen Wandel anzupassen. Mit der kontinuierlichen Weiterentwicklung der Technologie ist künstliche Intelligenz immer beliebter geworden
