Heim Web-Frontend js-Tutorial Ausführliche Erläuterung der automatisierten Node-Bereitstellungsmethode

Ausführliche Erläuterung der automatisierten Node-Bereitstellungsmethode

Jan 15, 2018 pm 01:13 PM
node 自动化 详解

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
Nach dem Login kopieren

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 ) })
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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:

Initialisierung des Projekts

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

Gehen Sie dann zum Server und schauen Sie nach, er ist perfekt, er läuft erfolgreich


git pushSchauen 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

Verwandte Empfehlungen:

Verwenden Sie Docker für die automatische Bereitstellung auf Ihrem eigenen Host basierend auf Daocloud


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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Mar 08, 2024 pm 03:06 PM

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 Oracle SQL Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Mar 10, 2024 am 09:51 AM

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

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

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

Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Mar 19, 2024 pm 04:33 PM

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-Systemaufrufs Detaillierte Erläuterung der Funktion system() des Linux-Systemaufrufs Feb 22, 2024 pm 08:21 PM

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'. Detaillierte Erläuterung des Linux-Befehls „curl'. Feb 21, 2024 pm 10:33 PM

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üpfungsbefehlen So löschen Sie die Automatisierung von Apple-Verknüpfungsbefehlen Feb 20, 2024 pm 10:36 PM

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

Künstliche Intelligenz wird bis 2024 das Hardware-Design revolutionieren Künstliche Intelligenz wird bis 2024 das Hardware-Design revolutionieren Mar 15, 2024 pm 02:34 PM

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

See all articles