Ausführen von Capistrano-Aufgaben nur für bestimmte Rollen

8

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?

    
JZC 29.06.2011, 23:10
quelle

4 Antworten

3

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

    
Scott Tamosunas 23.07.2011 21:22
quelle
2

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 :

aus %Vor%

Der Parameter ROLES ist mehrwertig. Sie können also weitere Rollen hinzufügen, die durch ein Komma getrennt sind:

%Vor%

Weitere Einzelheiten finden Sie in der Aufruf Dokumentation

    
Nicolas Colomer 14.08.2013 14:16
quelle
1

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%     
Paul Alexander 28.11.2012 23:04
quelle