Mostrando entradas con la etiqueta repositorio. Mostrar todas las entradas
Mostrando entradas con la etiqueta repositorio. Mostrar todas las entradas

jueves, 12 de enero de 2012

m2eclipse

m2eclipse... no nos une el amor sino el espanto

Dejo una nota sobre un problema que tuvimos tras la instalación del nuevo Artifactory (ver notas Artifactory I y Artifactory II). Despues de configurar los usuarios y los permisos, notamos con desagrado que no descargaba ninguna librería... (¿para qué quiero un repositorio de librerías si no puedo acceder a ellas?). Cada entrada a las librerías era completada en la estructura del .m2 de mi maquina con un archivo .lastUpdated

Al parecer hay diferencias entre las versiones de maven y la estructura que crea en el .m2... 

¿como resolvimos la cosa?
Entramos a .m2 y renombramos la carpeta repository creando una nueva completamente vacía... voila. 
El m2eclipse empezó a bajar todas las dependencias sin problemas...

martes, 27 de diciembre de 2011

Atlassian Bamboo

Instalación del Atlassian Bamboo


Hola, siguiendo con la instalación del Artifactory cosas relacionadas vi que poseía un plug-in con el Bamboo de Atlassian, lamentablemente era para maven3, así que próximamente se viene algún post con la migración del m2 al m3. Igualmente el Bamboo me pareció una buena herramienta, para los que no conocen ni el producto ni la empresa les cuento que Atlassian es la creadora del manejador de incidencias Jira (a mi entender el mejor de todos). El Bamboo es un software de integración continua, despliegue continuo y gestión de releases (y, obviamente, posee una excelente integración con el Jira). La integración continua es una práctica que permite hacer la integración de un proyecto en forma automática, facilitando entre otras cosas la administración y generación de versiones del proyecto, así como mejorar el control de calidad del mismo. Esta práctica ha sido incluida como parte fundamental de Procesos Ágiles como eXtreme Programming, Scrum entre otras.
Para resumirlo en pocas palabras, la idea es que el código de los desarrolladores se suba a un servidor de versiones central en el que se automatizan procesos de prueba de modo que si algun desarrollador sube codigo que provoca fallos en algún otro módulo, el servidor lo detectará y alertará al respecto. Esta modalidad de trabajo brinda numerosos beneficios entre los que se pueden citar:

- Mejora la calidad del producto
- Reduce trabajos repetitivos y aburridos
- Elimina dependencias de personal clave
- Reduce del tiempo de integración.
- Facilita la detección rápida y temprana de errores.
- Permite tener un histórico de versiones y releases para investigar incidencias.

Hechas las presentaciones, manos a la obra:

Instalación del Atlassian Bamboo

1- Descarga del Bamboo (posee una versión Trial y la licencia más económica es de U$s 10.-)
    http://www.atlassian.com/es/software/bamboo/download

2- Nos logueamos como root en el servidor donde instalaremos el soft. Seleccionamos una carpeta destino (en mi caso cree /usr/share/atlassian-bamboo). Colocamos allí el .tar.gz que bajamos en el paso 1 y ejecutamos

    tar xvzf atlassian-bamboo-3.4.1-standalone.tar.gz

3- Creamos un directorio bamboo-home (IMPORTANTE: El directorio no debe estar dentro de la entructura de instalación). En mi caso lo cree en /var/atlassian/application-data/bamboo/bamboo-home

4- Modificamos el archivo de propiedades bamboo-init.properties que se encuentra en el directorio
<Directorio de instalación>/webapp/WEB-INF/classes

5- Arrancamos el servicio ejecutando el script disponible en la carpeta  /wrapper
    ./start-bamboo start
Para controlar que pudo arractar ejecutamos
    ./start-bamboo status

Si la respuesta indicara que el servicio no se esta ejecutando, podemos ver los errores en <Directorio de instalación>/logs/bamboo.log

6- En el navegador vamos a la dirección http://ip:puerto/bamboo
    Si algo salío mal, aquí aparecerá un checklist que nos indicará que nos olvidamos algo.
    En caso contrario, verán una pantalla donde deberán ingresar el nro de licencia. Pueden obtener un trial de 90 días en la pagina de Atlassian
        http://www.atlassian.com/software/bamboo/ViewBambooLicenses.jspa

Voila!

lunes, 26 de diciembre de 2011

Artifactory II

Como instalar Artifactory en Debian 
(Parte 2 - Configuración)

En la nota anterior instalamos en Artifactory en Debian, pero con eso no hicimos nada mas que ocupar espacio de disco, memoria, procesador y un puerto en el servidor. Sin configuar algunas cosas no podremos hacer mucho con él. Así que, sin más preámbulo, a trabajar:

1. Importante: el Artifactory se instala con un usuario y contraseña estandar (admin:password). Es sumamente importante tomar algunas medidas de seguridad, recuerden que en el repositorio no solo estarán los jars que necesitemos para la aplicación sino que los desarrolladores subirán allí los productos de la empresa e incluso los fuentes... No cuesta nada tener un par de precauciones. Cambiar contraseña del usuario admin y configurar los derechos de los usuarios y grupos. Yo agregue un grupo developers con derecho a gestionar el contenido del repositorio pero no a administrarlo. (el entorno gráfico es bastante intuitivo y simple, no van a tener problema en hacerlo).

2. Versiones anteriores del Artifactory requierían la modificación del archivo artifactory.config.xml, la version 2.4.2 posee una interfaz gráfica de configuración que facilita sobremanera estas tareas, pero si son de ese tipo de personas rebuscadas que aman editar archivos con el vi, la configuracion completa se vería como lo siguiente:
   
    <localRepository>
        <key>local-sample</key>
        <description>Sample local repository</description>
        <blackedOut>false</blackedOut>
        <handleReleases>true</handleReleases>
        <handleSnapshots>true</handleSnapshots>
        <maxUniqueSnapshots>3</maxUniqueSnapshots>
        <includesPattern>*/**</includesPattern>
        <excludesPattern>com/mycompany/**</excludesPattern>
        <snapshotVersionBehavior>non-unique</snapshotVersionBehavior><!-- (non-unique|unique|deployer) -->
    </localRepository>



De todos modos la instalación crea automaticamente los siguientes repositorios locales:
   
    libs-release-local
    libs-snapshot-local
    plugins-release-local
    plugins-snapshot-local
    ext-release-local
    ext-snapshot-local


3. Configurar el maven local para que acceda al repositorio. Cada una de las estaciones de trabajo debería tener un repositorio local en la carpeta home/usuario/.m2, allí existirá un archivo de configuración denominado settings.xml. El artifactory se debe declarar allí para que el maven sepa donde deberá buscar las dependencias. La versión 2.4.2 del artifactory posee un generador automático con el contenido que debería tener este archivo. (Busquenlo en Home -> Client Settings -> Maven Settings. Si es una versión anterior y tienen que crearlo a mano, aquí dejo un modelo de referencia:

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <servers>
    <server>
      <username>admin</username>
      <password>password</password>
      <id>central</id>
    </server>
    <server>
      <username>admin</username>
      <password>password</password>

      <id>snapshots</id>
    </server>
  </servers>
  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <url>http://ip:puerto/artifactory/libs-release</url>
        </repository>
        <repository>
          <snapshots />
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>http://
ip:puerto/artifactory/libs-snapshot</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>plugins-release</name>
          <url>http://
ip:puerto/artifactory/plugins-release</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots />
          <id>snapshots</id>
          <name>plugins-snapshot</name>
          <url>http://
ip:puerto/artifactory/plugins-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>


4. Si tienen instalado el plugin del m2 en eclipse, pueden crear un nuevo proyecto maven y al agregar una dependencia en el pom se debería bajar automáticamente.

Saludos