Hoy vamos a hablar de cómo podemos generar librerías para nuestros proyectos usando un repositorio privado de Bitbucket como si fuera uno de Maven.
Lo primero es desplegar los artefactos que serán utilizados como librerías, para ello utilizamos el plugin llamado wagon-git.
Necesitaremos añadir su repositorio a la configuración de Maven para que pueda descargarlo
[xml]</p><p style="text-align: justify;"><pluginRepositories>
<pluginRepository>
<id>synergian-repo</id>
<url>https://raw.github.com/synergian/wagon-git/releases</url>
</pluginRepository>
…
</pluginRepositories></p>
<p style="text-align: justify;">[/xml]
Luego habrá que añadir una extensión en nuestro build invocando al plugin en cuestión
[xml]</p><p style="text-align: justify;"><build>
…
<extensions>
<extension>
<groupId>ar.com.synergian</groupId>
<artifactId>wagon-git</artifactId>
<version>0.2.5</version>
</extension>
</extensions>
…
</build></p>
[/xml]
En el apartado distributionManagement habrá que configurar el repositorio GIT donde queremos almacenar la librería, en este caso utilizamos Bitbucket
[xml]<distributionManagement>
<repository>
<id><strong>id-repo</strong></id>
<name><strong>nombre-repo</strong></name>
<url>git:<strong>rama-destino</strong>://git@bitbucket.org:<strong>usuario</strong>/<strong>repositorio</strong>.git</url>
</repository>
</distributionManagement>
<p style="text-align: justify;">[/xml]
Ahora sólo queda compilar y desplegar con la orden
[xml]</p><p style="text-align: justify;">mvn deploy</p>
<p style="text-align: justify;">[/xml]
Ya tenemos nuestra librería lista para utilizar en otros proyectos. En estos solo tendremos que configurar nuestro repositorio.
[xml]<repositories>
…
<repository>
<id><strong>id-repo</strong></id>
<name><strong>nombre-repo</strong></name>
<url>https://api.bitbucket.org/1.0/repositories/<strong>usuario</strong>/<strong>repo</strong>.git/raw/<strong>rama</strong></url>
</repository>
…
</repositories>
[/xml]Lo más normal es que el repositorio sea privado, y necesitemos configurar la autenticación en ambos casos (tanto para poder desplegar los artefactos como para poder descargarlos). Para ello editaremos el fichero settings.xml
[xml]<servers>
…
<server>
<id><strong>id-repo</strong></id>
<username><strong>user</strong></username>
<password><strong>password</strong></password>
</server>
…
</servers>
[/xml]Ya tenemos nuestras librerías en la nube disponibles para utilizar como dependencias en cualquier proyecto, y todo sin haber tenido que montar un repositorio como pueda ser Nexus o Artifactory en algún servidor nuestro. Este tipo de “trucos” son los que permiten optimizar nuestros tiempos de trabajo y hacernos a los programadores la vida un poco más sencilla.
Deja una respuesta