Automatisierte Installation und Aktualisierung von NPM-Pakeln in einer selbstgehosteten Umgebung

Fortgeschritten

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

Voraussetzungen
  • Keine besonderen Voraussetzungen, sofort nach Import nutzbar
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "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
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

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.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes7
Kategorie3
Node-Typen6
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34