Deployen Sie auf mehreren Servern mit Subversion als SVN - mysql, svn, nginx, amazon-ec2

Ich habe einen Job in meinen Händen, von dem ich nicht weiß, wie ich es schaffen soll.

Wir haben zwei EC2-Instanzen, die auf Amazon laufen, die Entwicklung und die Produktion, jede mit ihrer eigenen MySQL-Datenbank. Außerdem haben wir eine dritte nur mit dem SVN von Subversion.

Derzeit werden die Bereitstellungen über SFTP mit Filezilla vom lokalen Computer eines Entwicklers zum Server durchgeführt. wo er alle Dateien von Hand auf die Maschine kopieren muss.

Es ist also sehr schwierig sicherzustellen, dass beide Server dieselbe Codeversion haben.

Ich denke, dass die Lösung zwei hatSVN, eins auf dem Entwicklungsserver und eins auf dem Produktionsserver. Die Dev-Datei hätte alle Commits im "Trunk" -Ordner. Jeder "Zweig", der markiert werden würde, hätte eine Freigabe, würde an das Produktions-SVN übergeben.

Ich denke, dass die Einsätze viel einfacher wären, nur um zur Kasse zu gehen.

Da ich ein Neuling bin, der diese Art vonKonfigurationen, wie kann ich das erreichen? Konfigurieren Sie den SVN auf beiden Maschinen und übergeben Sie jeden Zweig an die Produktion? Die EC2-Instanzen laufen auf Debian mit Nginx und Supervisor.

Antworten:

1 für die Antwort № 1

Da Sie einen dedizierten Server für SVN haben, können Sie versuchen, zu installieren und zu konfigurieren Jenkins Auf dieser Maschine und auf jenkins können Sie mehrere Jobs erstellen (Deployment-Task), um die Bereitstellung an verschiedene EC2-Instances vorzunehmen.

Jenkins ist eine Anwendung, die die Ausführung wiederholter Jobs überwacht, z. B. das Erstellen eines Softwareprojekts oder Jobs, die von Cron ausgeführt werden.

Wir verwenden Jenkins für Remote-Bereitstellungen, die basierend auf der Zeit und basierend auf SVN-Commits geplant werden.

Tipp: Versuchen Sie, Jenkins auf Ihrem lokalen Computer einzurichten, und sehen Sie, wie Sie eine Bereitstellung auf einem anderen lokalen Computer durchführen.