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

No hay comentarios:

Publicar un comentario