¿Cuál es la mejor manera de implementar mi proyecto web (o proyecto ear) al servidor remoto y glassfish?

Cómo utilizar ant-deploy.xml y build-impl.xml que netbeans crear para este propósito?

El uso de implementar automáticamente de la carpeta y añadir por separado sun-resources.xml para el GF
O
El uso de la hormiga y….

Por favor me explique paso por paso?

Que respecta a

InformationsquelleAutor Nav | 2010-09-03

6 Comentarios

  1. 23

    Bien, manualmente se pueden implementar su aplicación a través de la consola de administración.

    O puede utilizar la asadmin comando. Una implementación remota, en su forma más simple de aspecto:

    asadmin deploy --user=<adminuser> --host=<hostname> <path to jar/war/ear>

    Y esto podría ser de shell scripts, o envuelto en Ant o Maven.

    O usted podría utilizar más herramientas especializadas (la Tarea Ant, el maven plugin de glassfish, el maven asadmin plugin, Carga).

    Todo depende de su contexto, no hay una respuesta única y hay muchas posibilidades. Si usted no sabe lo que usted está buscando, sólo tiene que utilizar la Hormiga construir scripts creados por NetBeans.

    • Está usted seguro de que esto funciona con .oído?
  2. 16

    1. Respuesta corta primero

    Uso de una combinación de:

    1. maven, para conducir el conjunto de la construcción y en proceso de implementación (perfiles y filtrado de recursos será muy valioso que tiene para usted)
    2. shell scripts que utilizan el asadmin comando (una alternativa a uno de los glassfish plugins de maven
    3. jenkins para desencadenar maven construye, ya sea en forma periódica o como resultado de un nuevo código de ser empujado a su sistema de administración de versiones.
    4. Netbeans tiene una excelente integración tanto con Glassfish y maven y es mi favorito de Java EE IDE:

    2. Ahora, algunos antecedentes…

    Para responder a esta pregunta, es útil adoptar una perspectiva más amplia y considerar todo el desarrollo/implementación de ciclo de vida. La implementación real de una .la guerra o la .oído archivo en Glassfish es sólo uno de los pasos del ciclo.

    Si quieres ser realmente eficaz, debe considerar una combinación de herramientas y prácticas para la automatización de la construcción y el despliegue de sus aplicaciones de software. Esto es especialmente cierto si usted trabaja en un «mundo real» medio ambiente con el desarrollador de máquinas, integración continua de las máquinas, control de calidad de las máquinas y máquinas de producción.

    Voy a elaborar un poco más sobre estos temas en los siguientes párrafos. En particular, voy a explicar por qué creo que hoy en día, la costumbre de secuencias de comandos de shell impulsado por maven son mejores que el servidor glassfish maven plugins disponibles en la comunidad.

    3. Administración de generación con maven

    Para muchas personas haciendo de desarrollo de java, maven es una conocida herramienta. Para los demás, he aquí una muy breve introducción. El objetivo de maven es automatizar la construcción de software de artefactos. Se trata de un marco (en el mismo sentido como un framework orientado a objetos), lo que significa que:

    1. define una manera estándar de crear, empaquetar y probar el software
    2. proporciona puntos de extensión para conectar el comportamiento personalizado en torno a esta norma de manera

    En esencia, cuando se utiliza maven, describa qué tipo de software artefacto que están construyendo (es un .jar, es un .la guerra, es una aplicación para android, etc.). De forma predeterminada, maven espera encontrar archivos de código fuente, archivos de prueba y los recursos en lugares específicos. De forma predeterminada, maven sabe que la construcción del software requiere que ir a través de diferentes fases: recopilación, de la unidad de prueba, el envasado, la implementación, las pruebas de integración, generación de documentación, etc.

    Otra cosa que maven hace por ti (y que a menudo es la primera razón para el uso de la herramienta) es la gestión de la dependencia. Maven especifica una manera de identificar a las bibliotecas (con un nombre y una versión), que están disponibles a través de los repositorios (hay tanto público, repositorios mundiales y privado de los repositorios). Con maven, puede especificar cosas como «yo dependo de magiglib versión 1.2.2». Cuando le pregunte a maven para hacer la construcción, se descargará automáticamente la lib, almacenar en un repositorio local y lo utilizan para la construcción y el embalaje. No hay necesidad de lidiar con manual de transferencias de .los archivos jar, no hay riesgo de introducir errores debido a que versión diferente de la misma lib son utilizados por los desarrolladores de diferentes o en diferentes etapas.

    Por último, pero no menos importante, maven ofrece la posibilidad de personalizar la construcción de su software, dependiendo del objetivo de la implementación de la máquina. Piense en los siguientes casos de uso:

    • Durante el desarrollo, creo que cada desarrollador puede tener una instalación diferente (mysql no puede escuchar en el mismo puerto TCP, glassfish puede no estar instalado en el mismo directorio, las contraseñas serán diferentes, etc.).

    • Un equipo de desarrollo es obviamente diferente de un entorno de integración continua, que es en sí, diferente de la de control de calidad o a un entorno de producción (de nuevo, sólo pensar en la creación de redes, sistema de archivos, las credenciales).

    Maven apoya a estos casos de uso con la combinación de variables, perfiles y filtrado de recursos:

    • Un variable es, así, una variable al igual que en cualquier tipo de entorno de programación. Cuando se utiliza maven, escribir un archivo de configuración XML (pom.xml) y se pueden utilizar variables en el mismo. Que hace que su sistema de construcción configurable y dinámico. El puerto de mysql escucha o el directorio en el que glassfish está instalado puede ser definido como variables.
    • Un perfil es una manera de dar valores a un conjunto de maven variables. Normalmente, cada desarrollador tendrá un perfil, cada entorno (de integración continua para la producción) tendrá un perfil, etc.
    • Filtrado de recursos permite hacer referencia a maven variables en los archivos de código fuente, archivos de recursos y archivos de configuración. Por ejemplo, en un archivo java, usted puede tener la siguiente cadena ${myvar} incrustado. Si usted configurar maven para hacer filtrado de recursos, a continuación, se reemplazará ${myvar} con el valor de la maven myvar variable (que puede ser definido en el perfil actual).

    Maven es una herramienta extremadamente poderosa, y, como tal, tiene una curva de aprendizaje. Si usas Netbeans, en realidad se puede crear una maven-proyectos impulsados con un par de clics y se benefician de las características básicas (por ejemplo, gestión de la dependencia). Para temas más avanzados, hay muy buena documentación disponible. No voy a entrar en más detalles aquí.

    4. glassfish plugin… o no?

    Una vez que han entendido el valor de maven y decidió utilizarlo, la siguiente pregunta es cómo se puede utilizar para hacer de la implementación real de la .la guerra o la .oído archivo en Glassfish (de forma local o remota). Aquí es donde usted tiene un número de opciones y donde hemos aprendido bastantes cosas a través de los años (hemos estado utilizando maven con glassfish para varios años).

    La primera cosa que usted puede hacer es utilizar uno de los glassfish maven plug-in. Hay diferentes plugins disponibles. Ellos tienen diferentes capacidades y diferentes niveles de apoyo. Resulta que el más potente plug-in es en realidad no se admiten más y no funciona con Glassfish 3 fuera de la caja. El complemento fue muy interesante, porque hizo posible no sólo para implementar archivos en Glassfish, pero también para crear recursos jdbc (piscinas, colas jms, etc.). También hizo posible la creación de glassfish dominios sobre la marcha (muy útil para ejecutar las pruebas de integración y asegúrese de que un nuevo dominio se utilizó para eso). De todos modos, los nuevos plugins (que se describen en la documentación del producto) no son tan potentes y centrarse únicamente en la tarea de implementación.

    En el sistema de generación que hemos creado y hecho evolucionar a lo largo de los años, hemos sido capaces de lograr un gran nivel de control y flexibilidad al combinar el servidor glassfish plugin de maven con los perfiles y filtrado de recursos. La solución funciona, es sólido, sin embargo, es bastante complejo (nuestro pom.xml y settings.xml ha crecido mucho y se ha vuelto pesado).

    Así que, si yo estaba configurando un nuevo sistema de generación a partir de cero, probablemente voy a hacer las cosas de una forma un poco diferente. Si miramos el código de la glassfish plugins de maven, verás que son bastante contenedores alrededor de la asadmin herramienta de línea de comandos proporcionados por Glassfish (y esto es debido a que los parámetros y el comportamiento de asadmin ha cambiado de una glassfish versión a la otra, que los plugins de maven se han roto).

    5. El camino a seguir

    Lo que yo haría es:

    • escribir un conjunto de secuencias de comandos de shell para crear glassfish dominios, crear recursos (jdbc, jms, etc.), implementar .la guerra y la .la oreja. Los scripts uso asadmin para interactuar con glassfish (es posible utilizar asadmin tanto localmente y de forma remota);

    • incrustar maven variables en estas secuencias de comandos y el uso de filtrado de recursos para crear dinámicamente entorno específico de las versiones de los scripts;

    • utilizar el maven exec plug-in para ejecutar las secuencias de comandos en las diferentes etapas de la maven build ciclo (pruebas de integración, ejecución, objetivos personalizados, etc.).

  3. 10

    Puede utilizar tarea ant para implementar el archivo war de glassfish-V3;

    Build.xml contenido;

    <target name="deploy"
        description="deploys application to glassfish">
        <exec failonerror="true" executable="cmd">
         <arg value="/c" />
         <arg value="asadmin --user ${gfUser} --passwordfile ${gfPassFile} --host ${host} deploy build/${war}" />
        </exec>
    </target>
  4. 5

    Más os manera independiente para implementar la aplicación:

    <presetdef name="asadmin">
      <java jar="${glassfish.home}/modules/admin-cli.jar" fork="true" jvm="${java.home}/bin/java" >
        <arg line="--port ${glassfish.admin.port}" />
      </java>
    </presetdef>
    <target name="deploy">
      <asadmin failonerror="true">
        <arg value="deploy" />
        <arg value="--force=true" />
        <arg value="${ear.file}" />
      </asadmin>
    </target>

    que colud uso asadmin preset con cualquier asadmin tareas…

    • Funciona!!! Pero además: <arg línea=»implementar –force=true –propiedades de compatibilidad=v2 ${oído.archivo}»/> <arg value=»»/> don’t pass –propiedades arg a asadmin. <arg línea=»»/> funciona muy bien!
  5. 1

    He encontrado que varios de los métodos de trabajo bien dependiendo de su situación:

    La implementación, cuando se tiene acceso al sistema de ficheros de la ejecución de un Glassfish 3:

    Glassfish permite automática de caliente a la implementación de recursos colocados en el lugar correcto «dentro» de los archivos de la ejecución de un Glassfish. La ubicación predeterminada para Glassfish 3.1.2.2 es glassfish-3.1.2.2/glassfish/domains/domain1/autodeply. He encontrado previamente que en Windows de vez en cuando no descubre que un archivo ha sido actualizado, así que primero un retiro y a la espera de ninguna anulación de despliegue antes de implementar de nuevo, puede ser necesario.

    Manual de implementación remota a un servidor Glassfish 3

    El administrador de la página (por defecto el puerto 4848) contiene una sección de implementación que permite a los usuarios cargar y desplegar, activar y desactivar y desinstalar aplicaciones. Esto es lo que he encontrado para ser el más robusto para el manual de mantenimiento.

    También no requiere acceso completo a la base del servidor.

    La implementación automática remota a un servidor Glassfish 3

    La carga de proyecto permite el despliegue automático para una adecuada configurado Glasfish instancia.

    El siguiente comando ejecutado con un pom.xml describir una guerra de implementación (como de 2012-10-17) descargar y ejecutar un servidor glassfish con el proyecto actual implementada.

    mvn clean verify -Dcargo.maven.containerId=glassfish3x -Dcargo.maven.containerUrl=http://dlc.sun.com.edgesuite.net/glassfish/3.1.2.2/release/glassfish-3.1.2.2-web.zip  org.codehaus.cargo:cargo-maven2-plugin:run

    (junto con un pequeño fragmento de código en pom.xml decirle a la carga adicional de los detalles acerca de la glassfish ubicación)

    Parte de un Maven compilación de desarrollo, como jetty:run

    Maven apoyo ha sido buena con Glassfish 3. El principal beneficio es que usted no tiene que descargar y descomprimir y empezar a Glassfish manualmente – maven puede hacerlo todo automáticamente.

    Ver http://embedded-glassfish.java.net/ para obtener instrucciones.

    Sólo he utilizado este brevemente, pero parecen ser una buena alternativa a la IDE-centrada en soluciones.

  6. 0

    De añadir puntos a la Respuesta de @Pascal Thivent,
    (Espero que útil para los demás, con una pregunta similar)

    1)es sólo clic del ratón para iniciar,detener,implementar la aplicación con Netbeans.

    2)Además de trabajar con Eclipse o Netbeans o de su IDE favorito

    2.1)En el entorno de desarrollo de Windows: inicio con herramientas de línea de comandos como asadmin durante su desarrollo.
    2.2)En Linux dev medio ambiente: el uso de secuencias de comandos de shell y automatizar el proceso de implementación.

    2.3)el Uso de implementar automáticamente y Netbeans implementación remota, en el entorno dev.
    2.4)el uso de secuencias de comandos o de línea de comandos de implementación remota se basa en la necesidad

    3)Usted viene para arriba con un enfoque más apropiado como desarrollar una » construir
    la secuencia de comandos basado en las necesidades del proyecto & interés, y otros
    consideraciones como los procesos organizativos.

    Sin maven o ant, sólo añadir necesario frascos de forma manual no es mala idea en absoluto. Después de la adición de los frascos, implementar desde la consola de administración o, simplemente, utilizar el script de compilación.

    Maven falla algunas veces con JavaEE frascos..pero tiene soluciones en la.
    Voy con Maven algunas veces, basado en la muestra de proyectos y procesos organizativos.
    Yo también uso hormiga que por defecto viene con Netbeans proyecto Java EE.

Dejar respuesta

Please enter your comment!
Please enter your name here