2010-05-31 13 views
13

L'utilizzo di un codice di Google svn come repository di base di Maven è semplice.Distribuisci il sito generato da Maven su Google Code svn?

Tuttavia, utilizzando il sito mvn: distribuire in modo efficiente su google code sembra difficile.

Finora, ho trovato solo queste soluzioni:

  • distribuzione a un file locale: /// e utilizzare uno script PERL per eliminare il vecchio e copiare il nuovo. Fonte: http://www.mail-archive.com/[email protected]/msg107719.html
  • Utilizzare wagen-svn per distribuire. Questo è molto lento (ore!) E non elimina i vecchi file
    • più tutti tipi MIME sono sbagliate

Sto cercando una soluzione che permette di nuovi sviluppatori nei miei progetti per controllare fuori la sorgente attuale e basta usarlo, senza dover installare PERL o imparare passaggi strani per eseguire o aspettare ore.

+0

Se anche imbattuto in questo problema si prega di votare per la domanda. Sto cercando così disperatamente un soluton per questo :-) – xamde

risposta

-2

Ti suggerisco di utilizzare https://maven2-repository.dev.java.net/ per distribuire le risorse utente open source. Abbastanza semplice da configurare e utilizzare.

Il principale "problema" è che è necessario creare un account, ma è possibile utilizzarlo solo per distribuire i manufatti e hanno ancora il codice sorgente ospitato su Google Code

+0

VOTE DOWN. Ciao, sto cercando un modo per distribuire un sito * Maven *, cioè tonnellate e tonnellate di file html generati che dovrebbero essere esposti su un server web pubblico. L'esecuzione di un repository di maven su un repository svn su google code va bene. – xamde

+0

Immagino che tu abbia già provato i seguenti suggerimenti di configurazione, giusto? http://code.google.com/p/maven-googlecode-plugin/wiki/MavenSiteDeployOnSVN –

+0

Ah, ci proverò. Grazie. Tuttavia, sembra anche suggerire il terribilmente lento wagon-svn provider. Questo è semplicemente troppo lento per migliaia di file. – xamde

0

Sarebbe una soluzione come rsync essere più facile ? In sostanza, si desidera eseguire il mirroring di un albero HTML generato localmente, ecc., Su un server remoto.

In caso contrario, è possibile ottenere Maven per generare e pubblicare il sito come parte di una build di integrazione continua utilizzando, ad esempio, Hudson. Non adatto se hai bisogno che il sito sia disponibile a livello globale, a meno che tu non voglia aprire il tuo server Hudson.

+0

Certo che sarebbe di aiuto --- se Google SVN avrebbe eseguito un server rsync che AFAIK non lo fa. AFAIK no svn server fa. Il problema è davvero la velocità. Maven sembra aprire una nuova connessione per ogni singolo file o almeno un singolo webdav-put. In questo momento, utilizzo un server della mia università in cui dispongo dell'accesso ssh e posso eseguire la decompressione sul server. Maven quindi fa scp, registra sin e gira decomprime. Molto bello, veloce e conveniente. Per Google SVN, credo che una soluzione intelligente tramite il protocollo SVN anziché il protocollo WebDAV dovrebbe funzionare in qualche modo, ma non l'ho mai eseguita. – xamde

1

Come distribuire artefatto maven in codice Google svn?

I. Crea cartella m2 con stampa e snaphots sottocartelle

II. Aggiungere dipendenza 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. Aggiungere il percorso per il rilascio e il repository snapshot

 
    <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. Non dimenticare di aggiungere a settings.xml il tuo auth. codice

 
    <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.Fai ciò che di solito fai per generare un sito (potresti considerare di dare un'occhiata a maven-svn-wagon pom file con le impostazioni per maven-site-plugin)

VI. mvn clean deploy

Example of such pom

Inoltre, potrebbe essere utile: maven-repository-for-google-code-project, maven svn wagon, MavenRepositoryInsideGoogleCode

1

Ecco la configurazione più semplice che funziona per me nei miei progetti di codice di Google che hanno un repository Maven su Google Code svn:

<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> 

Nota l'url:
Sostituire 'myproject' con il vero e proprio progetto nome e assicurati inoltre di creare una cartella denominata 'repo' (o qualsiasi altra cosa tu voglia) in quella posizione usando il tuo client svn.
Puoi assicurarti navigando tra le fonti tramite il tuo sito Google Code.
Dopo aver configurato il pom come sopra, eseguire semplicemente 'mvn deploy'.
Assicurarsi di avere la password di Google Code a portata di mano ...
Buona fortuna ...

Problemi correlati