Bereitstellung für Inszenierung und Produktion [geschlossen]

8

Ich muss die Bereitstellung zwischen meinen Staging- und Produktionsservern vereinfachen.

Wie kann ich das machen? Ich muss alle Änderungen bereitstellen. Wenn ich also von Github abrufe und das Skript ausführe, werden die Änderungen übernommen!

Hat jemand ein Skript oder Modul dafür geschrieben?

Ich benutze Drupal 7.

Abuzer Firdousi
quelle

Antworten:

9

Sie sollten sich mit Drush , Drush Deployment und insbesondere mit Funktionen befassen . Nicht alle Drupal-Konfigurationsoptionen werden von Funktionen unterstützt, und Sie müssen einige Arbeiten ausführen, um einen für Sie geeigneten Bereitstellungsprozess zu erstellen. Es gibt kein einziges Skript, das alles für Sie richtig macht.

greg_1_anderson
quelle
Ich wünschte, ich könnte dies zweimal positiv bewerten. :-) Ich werde hinzufügen, dass Sie mit drush ein Makefile für Ihre Site erstellen können. drupal.org/project/drush_make
Paul-m
1
Vielen Dank. nb drush_make ist in Drush Core Version 7.x-5.x enthalten; Wenn Sie immer noch Drush 4 verwenden, ist ein Upgrade ratsam. Sie können auch ein Drush-Makefile von einer vorhandenen Drupal-Site über drush generate-make generieren. Es gibt einen Work-in-Progress-Befehl zum Erstellen eines Installationsprofils von einer vorhandenen Drupal-Site unter drupal.org/node/1368242 .
Greg_1_anderson
3

Sie könnten an Stoff interessiert sein

Fabric ist eine Python-Bibliothek und ein Befehlszeilentool zur Optimierung der Verwendung von SSH für Anwendungsbereitstellungs- oder Systemverwaltungsaufgaben.

Es bietet eine grundlegende Reihe von Vorgängen zum Ausführen lokaler oder Remote-Shell-Befehle (normalerweise oder über sudo) und zum Hochladen / Herunterladen von Dateien sowie Zusatzfunktionen wie das Auffordern des laufenden Benutzers zur Eingabe oder das Abbrechen der Ausführung.

Möglicherweise interessieren Sie sich auch für Drush für den Befehlszeilenzugriff auf Drupal.

zB einige relevante Drush-Befehle:

archive-dump    Backup your code, files, and database into a single file.                                                                                                                                                                       
archive-restore Expand a site archive into a Drupal web site. 
core-rsync (rsync)    Rsync the Drupal tree to/from another server using ssh.

oder beides :)

David Thomas
quelle
Kann ich mit einem Skript alle Änderungen vornehmen
Abuzer Firdousi
Ja, Sie können das gesamte Skript so schreiben, dass es automatisch erfolgt.
David Thomas
3

Da ist Bohnenstange

Erweiterte Bereitstellungstools Stellen Sie Ihre Repositorys mit einem Klick auf (S) FTP, SSH und Amazon S3 bereit.

Und es gibt GitHubs Post-Receive-Hooks .

GitHub sendet an eine angegebene URL, wenn jemand zum Repo pusht. Schreiben Sie einfach ein kurzes PHP-Skript, um es auf Ihrem Linode-VPS auszuführen, und ziehen Sie es von GitHub ab, wenn es den POST empfängt.

niksmac
quelle
3

Obwohl die Frage ein Jahr vorher ist, würde ich vorschlagen, diese 3 Werkzeuge zu verwenden.

Git + Capistrano + Drush .

Es funktioniert nur für solche Aufgaben.

Hier sind einige Capistrano-Edelsteine ​​/ -Dateien im Zusammenhang mit Drupal, die Ihnen bei der Automatisierung der Drupal-Entwicklung helfen sollen:

Und hier sind einige nützliche Ressourcen, damit Sie nicht im gesamten Web suchen müssen:

TheodorosPloumis
quelle
2

Das sind meine Erkenntnisse. Drush stellt die Synchronisierung unter Verwendung von MySQL-Dump und Wiederherstellung als vollständig bereit, nicht die Änderungen, die nach einem bestimmten Intervall vorgenommen wurden.

Viele Dinge können verfolgt werden mit - Konfigurationsmodul - Funktionen - Zusätzliche Funktionen

Weitere Informationen finden Sie in der Präsentation. https://docs.google.com/file/d/0B6Sp-HBmxgGMMnhhQXVrR1hDUVU/edit?usp=sharing

Abuzer Firdousi
quelle
Hallo und willkommen bei Drupal Answers. Mögen Sie Ihre Antwort mit einer Zusammenfassung dessen, was auf der verlinkten Seite berichtet wird, verbringen. Bei Stack Exchange werden Antworten, die lediglich einen Link enthalten, nicht als Antworten betrachtet.
Kiamlaluno