2010-05-31 5 views
13

Mit einem Google-Code Svn als grundlegende Maven Repository ist einfach.Deploy maven generierte Website auf Google Code svn?

Verwendung von MVN-Website: effizient auf Google-Code bereitstellen scheint jedoch schwer.

Bisher fand ich nur diese Lösungen:

  • Deploy in einer lokalen Datei: /// und ein PERL-Skript verwenden, um die alten und kopieren Sie die neue zu löschen. Quelle: http://www.mail-archive.com/[email protected]/msg107719.html
  • Verwenden Sie wagen-svn zum Bereitstellen. Dies ist sehr langsam (Stunden!) Und nicht löscht alte Dateien
    • Plus alle Mime-Typen sind falsch

Ich suche nach einer Lösung, die neuen Entwickler in meinen Projekten prüfen kann, aus der aktuellen Quelle und einfach verwenden Sie es, ohne dass Sie PERL installieren müssen oder seltsame Schritte lernen, um durchzuführen oder Stunden zu warten.

+0

Wenn Sie lief auch in dieses Problem für die Frage abstimmen bitte. Ich bin so verzweifelt auf der Suche nach einer Lösung :-) – xamde

Antwort

-2

Ich würde vorschlagen, dass Sie https://maven2-repository.dev.java.net/ verwenden, um Ihre Open-Source-Artefakte bereitzustellen. Ganz einfach zu konfigurieren und zu verwenden.

Die wichtigste „Frage“ ist, dass Sie ein Konto erstellen müssen werden, aber Sie können es verwenden, nur die Artefakte zu implementieren und noch Ihren Quellcode auf Google Code

+0

VOTE DOWN. Hallo, ich bin auf der Suche nach einer Möglichkeit, eine Maven * -Site * bereitzustellen, dh Tonnen und Tonnen generierter HTML-Dateien, die auf einem öffentlichen Webserver verfügbar gemacht werden sollten. Ein Maven-Repository über ein Svn-Repository auf Google-Code laufen zu lassen, ist in Ordnung. – xamde

+0

Ich vermute, Sie haben bereits die folgenden Konfigurationstipps ausprobiert, oder? http://code.google.com/p/maven-googlecode-plugin/wiki/MavenSiteDeployOnSVN –

+0

Ah, ich werde das ausprobieren. Vielen Dank. Es scheint jedoch auch den schrecklich langsamen Wagen-SVN-Anbieter vorzuschlagen. Das ist einfach zu langsam für Tausende von Dateien. – xamde

0

Wäre eine Lösung wie rsync einfacher gehostet ? Sie möchten im Wesentlichen einen lokal generierten HTML-Baum usw. auf einem Remote-Server spiegeln.

Andernfalls könnten Sie Maven dazu bringen, die Site als Teil einer fortlaufenden Integration zu generieren und zu veröffentlichen, beispielsweise mit Hilfe von Hudson. Nicht geeignet, wenn die Website global verfügbar sein soll - es sei denn, Sie möchten Ihren Hudson-Server öffnen.

+0

Sicher, das würde helfen --- wenn der Google SVN einen rsync-Server ausführen würde, den AFAIK nicht. AFAIK kein SVN-Server. Das Problem ist wirklich die Geschwindigkeit. Maven scheint eine neue Verbindung für jede einzelne Datei zu öffnen, oder tut zumindest einen einzigen Webdav-put. Im Moment benutze ich einen Server von meiner Universität, wo ich SSH-Zugang habe und kann auf dem Server entpacken. Maven macht dann scp, log sin und läuft entpacken. Sehr nett, schnell und praktisch. Für Google SVN glaube ich, dass ein Smart Put via SVN-Protokoll anstelle des WebDAV-Protokolls irgendwie funktionieren sollte, aber ich habe das nie zum Laufen bekommen. – xamde

1

Wie Maven Artefakt zu Google Code Svn bereitstellen?

I. Erstellen m2 Ordner mit Mitteilungen und Schnappschüsse Unterordner

II. In Abhängigkeit maven-svn-wagon

 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-deploy-plugin</artifactId> 
     <version>2.5</version> 
     <dependencies> 
      <dependency> 
       <groupId>com.google.code.maven-svn-wagon</groupId> 
       <artifactId>maven-svn-wagon</artifactId> 
       <version>1.4</version> 
      </dependency> 
     </dependencies> 
    </plugin> 

III. Fügen Sie den Pfad zum Release und zum Snapshot-Repository hinzu.

 
    <distributionManagement> 
     <repository> 
      <id>project-name.googlecode.com</id> 
      <url>svn:https://project-name.googlecode.com/svn/m2/releases</url> 
     </repository> 
     <snapshotRepository> 
      <id>project-name.googlecode.com</id> 
      <url>svn:https://project-name.googlecode.com/svn/m2/snapshots</url> 
     </snapshotRepository> 
    </distributionManagement> 

IV. Vergessen Sie nicht, Ihre auth-Datei zu settings.xml hinzuzufügen. Code

 
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
          http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
     <servers> 
      <server> 
       <id>project-name.googlecode.com</id> 
       <username>yourlogin</username> 
       <password>yoursvpassword</password> 
      </server> 
     </servers> 
    </settings> 

V.Machen Sie das, was Sie normalerweise tun, um eine Site zu generieren (Sie können maven-svn-wagon pom file mit den Einstellungen für maven-site-plugin betrachten)

VI. mvn clean deploy

Example of such pom

Auch könnte hilfreich sein: maven-repository-for-google-code-project, maven svn wagon, MavenRepositoryInsideGoogleCode

1

Hier ist die einfachste Konfiguration, die für mich in meinen Google-Code-Projekten arbeitet, die eine Maven-Repository auf Google Code SVN haben:

<build> 
... 
<extensions> 
    <extension> 
     <groupId>org.jvnet.wagon-svn</groupId> 
     <artifactId>wagon-svn</artifactId> 
     <version>1.9</version> 
    </extension> 
</extensions> 
</build> 

<distributionManagement> 
<repository> 
    <uniqueVersion>false</uniqueVersion> 
    <id>googlecode</id> 
    <url>svn:https://myproject.googlecode.com/svn/trunk/repo/</url> 
</repository> 
</distributionManagement> 

Notiere die url:
Ersetzen 'myproject' mit Ihrem realen Projekt Name und stellen Sie auch sicher, dass Sie einen Ordner namens "Repo" (oder was auch immer Sie wollen) an diesem Ort mit Ihrem Svn-Client erstellen.
Sie können sicherstellen, indem Sie die Quellen über Ihre Google-Code-Website durchsuchen.
Nachdem Ihr POM wie oben konfiguriert wurde, führen Sie einfach 'mvn deploy'.
Stellen Sie sicher, dass Ihr Passwort Google Code zur Hand ...
Viel Glück ...