Automatisierte Installation und Aktualisierung von NPM-Pakeln in einer selbstgehosteten Umgebung
Dies ist ein Engineering, Building Blocks, IT Ops-Bereich Automatisierungsworkflow mit 7 Nodes. Hauptsächlich werden Set, SplitOut, N8nTrigger, ManualTrigger, ExecuteCommand und andere Nodes verwendet. Automatisierung der Installation und Aktualisierung von NPM-Pakten in einer selbst gehosteten Umgebung
- •Keine besonderen Voraussetzungen, sofort nach Import nutzbar
Verwendete Nodes (7)
Kategorie
{
"meta": {
"instanceId": "2039b9ae6bdd2cfe7f6a132b7dee66390e92afbc2ec29f67cafa1edf6cad8d55"
},
"nodes": [
{
"id": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
"name": "libraries_set",
"type": "n8n-nodes-base.set",
"position": [
-520,
260
],
"parameters": {
"options": {
"ignoreConversionErrors": false
},
"assignments": {
"assignments": [
{
"id": "ab1fe8b7-6706-4f59-bc39-1f80726d2890",
"name": "libraries",
"type": "string",
"value": "axios,cheerio,node-fetch"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "f5f22c1a-704b-47db-9f5e-88feb4db75b8",
"name": "trigger_manual",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-720,
260
],
"parameters": {},
"typeVersion": 1
},
{
"id": "85f6ad54-a991-407e-b018-fedaa7fb3a4d",
"name": "libraries_array",
"type": "n8n-nodes-base.set",
"position": [
-300,
260
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6fb15a6a-7cda-4080-a255-10f85d188854",
"name": "libraries",
"type": "array",
"value": "={{ $json.libraries.split(\",\") }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "19caae56-6cb0-4f90-a4e9-533712a09d14",
"name": "libraries_split",
"type": "n8n-nodes-base.splitOut",
"position": [
-100,
260
],
"parameters": {
"options": {
"destinationFieldName": "library"
},
"fieldToSplitOut": "libraries"
},
"typeVersion": 1
},
{
"id": "fe06a42d-21a1-474a-8442-d703f1664c68",
"name": "library_install",
"type": "n8n-nodes-base.executeCommand",
"position": [
120,
260
],
"parameters": {
"command": "=#!/bin/bash\n\n# Get library name from variable\nLIBRARY_NAME=\"{{$json.library}}\"\n\n# Check if library directory exists\nLIBRARY_DIR=\"/home/node/node_modules/$LIBRARY_NAME\"\n\n# Check if library is already installed\nif [ ! -d \"$LIBRARY_DIR\" ]; then\n echo \"Installing $LIBRARY_NAME...\"\n npm install \"$LIBRARY_NAME\"\n \n # Verify installation\n if [ -d \"$LIBRARY_DIR\" ]; then\n echo \"$LIBRARY_NAME was successfully installed.\"\n else\n echo \"Failed to install $LIBRARY_NAME. Please check for errors.\"\n exit 1\n fi\nelse\n echo \"$LIBRARY_NAME is already installed at $LIBRARY_DIR.\"\nfi\n",
"executeOnce": false
},
"typeVersion": 1
},
{
"id": "8b31c25c-0076-4c71-ae70-80c73d1b8220",
"name": "trigger_schedule",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-720,
100
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "a4a07417-00ce-478e-bcf7-3cc9dd0a75fa",
"name": "trigger_instance",
"type": "n8n-nodes-base.n8nTrigger",
"position": [
-720,
440
],
"parameters": {
"events": [
"init"
]
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04": {
"main": [
[
{
"node": "85f6ad54-a991-407e-b018-fedaa7fb3a4d",
"type": "main",
"index": 0
}
]
]
},
"f5f22c1a-704b-47db-9f5e-88feb4db75b8": {
"main": [
[
{
"node": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
"type": "main",
"index": 0
}
]
]
},
"85f6ad54-a991-407e-b018-fedaa7fb3a4d": {
"main": [
[
{
"node": "19caae56-6cb0-4f90-a4e9-533712a09d14",
"type": "main",
"index": 0
}
]
]
},
"19caae56-6cb0-4f90-a4e9-533712a09d14": {
"main": [
[
{
"node": "fe06a42d-21a1-474a-8442-d703f1664c68",
"type": "main",
"index": 0
}
]
]
},
"a4a07417-00ce-478e-bcf7-3cc9dd0a75fa": {
"main": [
[
{
"node": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
"type": "main",
"index": 0
}
]
]
},
"8b31c25c-0076-4c71-ae70-80c73d1b8220": {
"main": [
[
{
"node": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Engineering, Bausteine, IT-Betrieb
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Joachim Brindeau
@joachimbrindeauDiesen Workflow teilen