Frage

Ich bin ein großen Fan von Capistrano, aber ich brauche eine automatisierte Deployment-Skript für einen Java-only-Shop zu entwickeln. Ich habe sah Ant und Maven und sie scheinen nicht gut zu Remote-Administration ausgerichtet werden, um die Art und Weise Capistrano ist - sie scheinen viel stärker auf den Aufbau einfach und Verpackungsanwendungen. Gibt es ein besseres Werkzeug da draußen?

War es hilfreich?

Lösung

Ich glaube nicht, dass es eine Capistrano-ähnliche Anwendung ist für Java-Web-Anwendungen, aber das sollte man nicht wirklich verhindern, indem es (oder Alternativen wie Stoff) Ihre Anwendungen bereitstellen. Wie Sie bereits gesagt haben, Ant ist ein Ersatz für GNU Make während Maven primäre eine buildout / dependency-Management-Anwendung ist.

Da Java Web-Anwendungen dank der .war Behälter sind weniger abhängig von externen Bibliotheken, können Sie (je nach Anwendungsserver) machen eine Anwendung so einfach wie die Bereitstellung eines einfachen HTTP-PUT-Anfrage ausgeführt wird.

Wenn Sie jedoch zusätzliche Schritte erfordern, Stoff hat sehr gut funktioniert für mich so weit und ich nehme an, dass Capistrano auch Operationen generic-Shell-Befehl setzen und erhalten bietet. Also ich würde nicht für eine Alternative zu lange suchen, wenn, was Sie bereits haben bereits funktioniert: -)

Andere Tipps

Ich denke, dass Control (siehe: http://controltier.org ) ist das, was Sie suchen. Obwohl braucht Control nicht ausschließlich verwendet werden für Java entfaltet.

Sehen Sie diesen Auszug aus der Dokumentation (siehe: Steuer Tier-Dokumentation ):

  

Ist Control die gleiche wie Capistrano, Stoff oder Func?

     

In ihren grundlegenden Konzepten,   Control, Capistrano, Stoff und   Func sind ähnliche Werkzeuge. Heiraten   auf jeden Fall nennen Capistrano, Stoff,   und Func Grundbefehls Dispatching   Frameworks.

     

Allerdings Controltier, von   Design, geht weit darüber hinaus, was diese   andere Werkzeuge zur Verfügung stellen. die Automatisierung   Bibliotheken und die Web-basierte Tools, die   Control bietet ausgelegt sind,   lassen Sie die volle Automatisierungssysteme bauen   bereit für die Nutzung durch Unternehmen oder   groß angelegtes Web-Operations-Team.   Es gibt auch Funktionen wie   Fehlerbehandlung und zentrale Protokollierung   dass sind einfach nicht in den Geltungsbereich anderer   Befehl Dispatching-Tools.

     

Auch ist Capistrano ein Ruby-basiertes Tool   das ist in erster Linie konzentriert sich auf die Bedürfnisse   die Ruby on Rails-Community.   Controltier, während in Java geschrieben,   ist es nicht erforderlich zu wissen, Java   benutze es. In der Tat können Sie verwenden, was auch immer   Skriptsprachen Sie sind   komfortabel mit (einschließlich Rubin).   Control versucht als Sprache zu sein   und Plattform (Linux, Unix, Windows,   etc ..) neutral wie möglich.

Bei meiner Arbeit verwenden wir ausschließlich Capistrano alle unsere Java-Anwendungen zu implementieren. Es ist auf jeden Fall möglich.

Ich verwende ein Capistrano Rezept dspace (einen Java-Webapp, die wiederum Maven verwendet) für den Aufbau von Quelle: Installation dspace mit Capistrano

Capistrano konnten alle grundlegenden Web-Anwendung bereitstellen. Deployments für die andere Sprache sind fast gleich:

  1. Update-Code
  2. drücken Sie den Code auf dem Produktionsserver
  3. bereiten die Konfigurationsdateien für diese Bereitstellung
  4. restart-Server. (Dünn, nginx, tomcat)

in meiner Firma verwenden wir Capistrano java, Vuejs, PHP, Ruby, Python-Anwendungen zu implementieren.

Was interessant ist, dass Capistrano Idee eines Repo geht davon aus, dass Sie mit einem SCM (Source Control Manager) zu tun hat. Die Struktur auf dem Server und die damit verbundenen Versionierung der Anwendung arbeitet auf der Anwendungsquelle. Dies macht Sinn, für eine interpretierte Sprache sein.

In einer kompilierten Sprache wie Java, obwohl, kommt die Versionierung und Verzweigung vor der Bereitstellung und der zum Zeitpunkt der Anwendung kompiliert und gebaut wird das Quellkontrollsystem bereits hinter sich gelassen und was ergibt, ist ein versioniert Glas oder Teer enthalten die Anwendung. Typischerweise diese Tarball (jar + config) auf eine Maven Artefakt-Repository veröffentlicht wird wie Nexus oder Artifactory.

Überraschenderweise dieses Artefakt Repo-Karten auf den Capistrano Repo gut. Anstelle des SCM können wir diese Tarball als SCM (der Quelle werden versioniert) behandeln. In diesem Sinne habe ich implementiert eine Capistrano SCM-Plugin für Maven Artefakt repos . Es ist neu, aber funktioniert ziemlich gut.

Es vereint unsere Ruby und Java-Projekte auf einem Werkzeug, und was am wichtigsten ist, es bringt die Leistung von Capistrano des SSHKit und Harke in unseren Java-Projekten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top