Gibt es ein ähnliches DevOps Tool Stoff mit JavaScript als Skriptsprache? Ich interessiere mich speziell für die Remote-Ausführung.
Die meisten Werkzeuge, die ich gefunden habe, basieren auf Python (z. B. Stoff ) oder Ruby (z. B. Capistrano, Chef). In meinem Team verwenden wir diese Sprachen jedoch nicht für andere Zwecke. Obwohl diese Sprachen großartig sein mögen, sind sie in der Webentwicklungsbranche nicht so universell wie JavaScript.
Ich erwähne Stoff, weil er ideal für das ist, was ich will, außer dass ich (leider) nur minimale Python-Fähigkeiten habe.
deployment
Henry
quelle
quelle
Antworten:
Shipit ist das, wonach Sie suchen.
quelle
Fabric (und Capistrano, vermutlich das unbenannte Ruby-Tool, auf das Sie gestoßen sind) sind insofern etwas ungewöhnlich, als sie Task-Runner mit zusätzlichen Funktionen zum einfachen Ausführen von Aufgaben auf Remote-Hosts sind. Mir sind keine anderen beliebten Tools bekannt, die genau dasselbe tun, aber je nach Ihren Anforderungen gibt es einige andere Optionen, die für Sie möglicherweise funktionieren.
Grunzen und Schlucken sind die wichtigsten Aufgabenläufer im Javascript-Ökosystem. Obwohl nicht speziell zu installierenden Software entwickelt, haben sie beide Plugin-basierte Systeme , die Sie tun dies erlauben, und Sie werden viele Artikel von Menschen mit finden entweder ein , dies zu tun. In diesem Tutorial wird beispielsweise das
grunt-ssh
Plugin verwendet, um ssh in grunt zu integrieren, während sich dieses auf dieses Plugin stütztgulp-rsync
.Die Verwendung von Task-Läufern zum Bereitstellen von Code ist in der Regel ein Ansatz, der von Entwicklern bevorzugt wird, die einen Ops-Hut tragen. Wenn Sie einen Betriebsingenieur fragen, schlägt dieser eher vor, dieses Verhalten in ein Konfigurationstool zu hacken. Dies kann viele Formen annehmen (z. B. das Packen Ihrer App in eine Drehzahl oder ein Deb und das anschließende Installieren wie jede andere Software), aber ich werde mich auf das konzentrieren, was meiner Meinung nach die einfachste und direkteste Methode für Sie ist.
Ansible ist angeblich ein Konfigurationsmanagement-Tool, aber es glänzt wirklich bei der Task-Orchestrierung , die ich als "Ausführen einer Reihe von Aktionen auf einer Reihe von Servern" definieren würde. Die offizielle Dokumentation ist ein guter Ausgangspunkt, aber um Ihnen eine Vorstellung davon zu geben, wie dies aussehen könnte, haben Sie möglicherweise ein Playbook (eine YAML-Datei, die eine Reihe von Aufgaben definiert) wie folgt:
Wenn Sie diese Datei mit ausführen
ansible-playbook
, wird Ihre Hostliste (so einfach wie eine INI-Datei, kann aber auch eine dynamische Liste sein, die in einer beliebigen Programmiersprache geschrieben ist) nachgeschlagen, um festzustellen, welche Server vorhanden sind und in welchen Gruppen sie sich befinden, und dann Führen Sie die definierten Aufgaben auf den Servern aus, denen Sie dies mitteilen.Nun haben Sie angegeben, dass Sie im Javascript-Ökosystem bleiben möchten. Obwohl Ansible für Sie neu ist, weist es nicht alle Komplexitäten einer anderen Programmiersprache auf, da Konfigurationen in YAML geschrieben sind. Sie können damit auch viel später viel mehr tun und verwenden im Gegensatz zu einigen Mitbewerbern ssh zur Kommunikation, sodass nur sehr wenig Setup erforderlich ist (nichts, was auf den Remote-Computern installiert werden muss).
quelle