2010-05-31 9 views
13

Usar un código de google svn como un repositorio básico de maven es fácil.¿Implementar un sitio generado por maven en Google Code svn?

Sin embargo, utilizar el sitio mvn: implementar de manera eficiente en el código de google parece difícil.

Hasta ahora, sólo he encontrado estas soluciones:

  • desplegar en un archivo local: /// y usar un script Perl para borrar el viejo y el nuevo copiar. Fuente: http://www.mail-archive.com/[email protected]/msg107719.html
  • Utilice wagen-svn para implementar. Esto es muy lenta (horas!) Y no elimina los archivos viejos
    • más todos los tipos MIME están equivocados

Busco a una solución que permite a los nuevos desarrolladores en mis proyectos para comprobar la fuente actual y solo úsala, sin necesidad de instalar PERL o aprender pasos extraños para realizar o esperar horas.

+0

Si también se topó con este problema por favor voten por la pregunta. Estoy tan desesperadamente buscando una solución a esto :-) – xamde

Respuesta

-2

Le sugiero que use https://maven2-repository.dev.java.net/ para implementar sus artefactos de código abierto. Bastante simple de configurar y usar.

El principal "problema" es que usted tendrá que crear una cuenta, pero se puede usar sólo para desplegar los artefactos y todavía tienen su código fuente alojado en Google Code

+0

VOTO ABAJO. Hola, estoy buscando una forma de implementar un sitio * de Maven *, es decir toneladas y toneladas de archivos html generados que deberían estar expuestos en un servidor web público. Ejecutar un repositorio maven encima de un repositorio svn en código google está bien. – xamde

+0

Supongo que ya ha probado los siguientes consejos de configuración, ¿verdad? http://code.google.com/p/maven-googlecode-plugin/wiki/MavenSiteDeployOnSVN –

+0

Ah, probaré esto. Gracias. Sin embargo, parece también sugerir el proveedor de wagon-svn horriblemente lento. Eso es simplemente demasiado lento para miles de archivos. – xamde

0

¿Sería una solución como rsync ser más fácil ? Básicamente, desea duplicar un árbol de HTML generado localmente, etc., en un servidor remoto.

De lo contrario, podría hacer que Maven genere y publique el sitio como parte de una compilación de integración continua utilizando, por ejemplo, Hudson. No es adecuado si necesita que el sitio esté disponible en todo el mundo, a menos que desee abrir su servidor Hudson.

+0

Seguro que ayudaría --- si el SVN de Google ejecutara un servidor rsync que no lo hace AFAIK. AFAIK no lo hace el servidor svn. El problema es realmente la velocidad. Maven parece abrir una nueva conexión para cada archivo, o al menos una sola webdav-put. En este momento, uso un servidor de mi universidad donde tengo acceso ssh y puedo ejecutar descomprimir en el servidor. Maven luego hace scp, registra el pecado y ejecuta descomprimir. Muy agradable, rápido y conveniente. Para Google SVN, creo que una puesta inteligente a través del protocolo SVN en lugar del protocolo WebDAV debería funcionar de alguna manera, pero nunca lo logré. – xamde

1

¿Cómo implementar el artefacto maven al código de Google svn?

I. Crear carpeta m2 con libera y subcarpetas snaphots

II. Agregar dependencia a 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. Agregue la ruta al lanzamiento y al repositorio de instantáneas

 
    <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. No olvides agregar a settings.xml tu auth. código

 
    <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.Haga lo que generalmente hace para generar un sitio (puede considerar echar un vistazo a maven-svn-wagon pom file con la configuración de maven-site-plugin)

VI. mvn clean deploy

Example of such pom

También, podría ser útil: maven-repository-for-google-code-project, maven svn wagon, MavenRepositoryInsideGoogleCode

1

Esta es la configuración más simple que funciona para mí en mis proyectos de código de Google que tienen un repositorio experto en Google SVN código:

<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 la dirección URL:
Reemplazar 'miproyecto' con su proyecto real nombre y también asegúrese de que cree una carpeta llamada 'repo' (o lo que desee) en esa ubicación utilizando su cliente svn.
Puede asegurarse navegando por las fuentes a través del sitio de código de google.
Después de configurar su pom como se indica arriba, simplemente ejecute 'mvn deploy'.
Asegúrate de que tienes tu contraseña código de Google a la mano ...
Buena suerte ...

Cuestiones relacionadas