Mein Projekt hat eine mehrstufige Pipeline, die einige Schritte wie Crawling, NLP usw. enthält, aber ich werde sie nur als Step1, Step2 usw. bezeichnen. Außerdem möchte ich in der Lage sein, in verschiedenen Umgebungen (dev , prod, etc).
Ich gehe davon aus, dass ich die mehrstufige Komponente für Capistrano verwenden werde, um sie in den verschiedenen Umgebungen bereitzustellen (z. B. cap dev deploy oder cap prod deploy).
Es scheint auch intuitiv sinnvoll zu sein, Rollen für jeden Pipelineschritt zu verwenden. Jeder Schritt läuft jedoch ziemlich unabhängig vom Rest der Pipeline, sodass jeder Schritt unabhängig von den anderen Schritten neu gestartet / implementiert werden kann. Capistrano scheint keine laufenden Aufgaben nur für eine bestimmte Rolle zu unterstützen. Was ist ein guter Weg, dies zu tun?
Ist dies der beste Weg, um Aufgaben für jede Rolle spezifisch zu definieren? Was passiert, wenn zwischen den Rollen einige Aufgaben bestehen? Vielleicht ist die Helfermethode da die Antwort?
Nicht sicher, dass das genau das ist, wonach Sie suchen, aber wenn ich etwas nur für eine bestimmte Rolle tun möchte, verwende ich die Capistrano-Shell. Angenommen, ich möchte nur auf meinen Anwendungsservern bereitstellen, kann ich Folgendes tun:
%Vor%Wenn Sie möchten, können Sie auch mit dem Computer arbeiten. Nochmal:
%Vor%Ich hoffe, es hilft,
Scott
Wenn Sie eine Capistrano-Aufgabe über die Befehlszeile ausführen möchten, aber nur für eine Teilmenge definierter Rollen, können Sie den Parameter ROLES
verwenden.
Der folgende Befehl führt die Aufgabe category:task
nur für die Rolle was
:
Der Parameter ROLES
ist mehrwertig. Sie können also weitere Rollen hinzufügen, die durch ein Komma getrennt sind:
Weitere Einzelheiten finden Sie in der Aufruf Dokumentation
Überprüfen Sie diese Diskussion Erstellen einer Capistrano-Aufgabe die verschiedene Aufgaben basierend auf der Rolle ausführt
%Vor%Nicht sicher, in welcher Version das Feature hinzugefügt wurde, aber cap sucht in der ROLES-Umgebungsvariablen nach, welche Rollen so ausgeführt werden sollen
%Vor%Tags und Links ruby-on-rails task capistrano roles