2011-12-07 31 views
6

Tengo un archivo war y necesito implementarlo en el servidor Jboss 7.0.1. Ahora revisé la documentación, pero no encontré nada para implementar un archivo war. Además, para desplegar su compilación a través de la línea de comandos, generalmente debe usar maven. Entonces, ¿necesitamos la guerra también? Si es así, ¿afecta el archivo de guerra?Despliegue de guerra en Jboss 7.0.1 a través de la línea de comandos

FYI: Estoy utilizando Linux (CentOS5) ...

Respuesta

13

Puede implementar un archivo .war utilizando la interfaz de línea de comandos de gestión. La documentación específica para ello se encuentra aquí: JBoss AS7 Admin Guide - Deployment, con las secciones correspondientes de la siguiente. También te tener un reloj rápido del vídeo: 5 Ways To Deploy Your Applications To JBoss AS7

CLI implementación en un dominio administrado

El proceso de distribución de los binarios de despliegue implica dos pasos: Es necesario cargar el despliegue en el repositorio de que el controlador de dominio puede distribuir sus contenidos. En un segundo paso que debe asignar el despliegue de uno o más grupos de servidores:

CLI se puede hacer un barrido:

[[email protected]:9999 /] deploy ~/Desktop/test-application.war 
Either --all-server-groups or --server-groups must be specified. 

[[email protected]:9999 /] deploy ~/Desktop/test-application.war --all-server-groups 
'test-application.war' deployed successfully. 

[[email protected]:9999 /] deploy --help 
[...] 

Después de haber subido el binario usando la "desplegar" comando, estará disponible para el controlador de dominio y asignado a un grupo de servidores:

[[email protected]:9999 /] :read-children-names(child-type=deployment) 
{ 
    "outcome" => "success", 
    "result" => [ 
     "mysql-connector-java-5.1.15.jar", 
     "test-application.war" 
    ] 
} 

[[email protected]:9999 /] /server-group=main-server-group/deployment=test-application.war:read-resource 
{ 
    "outcome" => "success", 
    "result" => { 
     "enabled" => true, 
     "name" => "test-application.war", 
     "runtime-name" => "test-application.war" 
    } 
} 

de una manera similar se puede quitar del grupo de servidores:

[[email protected]:9999 /] undeploy test-application.war --all-relevant-server-groups 
Successfully undeployed test-application.war. 

[[email protected]:9999 /] /server-group=main-server-group:read-children-names(child-type=deployment) 
{ 
    "outcome" => "success", 
    "result" => [] 
} 

CLI implementación en un servidor independiente de despliegue

en un servidor autónomo funciona de forma similar a la de dominio administrado, sólo que no existen las asociaciones de grupo de servidores. Usted puede confiar en el mismo comando CLI como para un dominio administrado para desplegar una aplicación:

[[email protected]:9999 /] deploy ~/Desktop/test-application.war 
'test-application.war' deployed successfully. 

[[email protected]:9999 /] undeploy test-application.war 
Successfully undeployed test-application.war. 

CLI de despliegue de servidor independiente (un trazador de líneas de comandos Shell)

Puede implementar un WAR de una sola vez de la Shell también. Esto es útil para scripts Bash o alias Unix. NOTA: Esto expone la contraseña, así que solo úsela para las instancias de desarrollo personal. Asegúrese de $ JBOSS_HOME se establece, y cambiar la ruta de contraseña y nombre de archivo WAR & abajo según sea necesario:

$ $JBOSS_HOME/bin/jboss-cli.sh -u=admin -p=MY_PASSWORD --controller=localhost:9990 --connect --command="deploy /path/to/MY_APP.war --force" 

Nota: Como usted sabe, usted tiene la consola de administración para la implementación, así como el escáner de despliegue. El primero es popular como lo sería cualquier GUI, pero el último es más para el desarrollo. Intento usar la CLI tanto como sea posible, ya que la curva de aprendizaje bien vale la pena por el poder de las secuencias de comandos por lotes y la escala de las operaciones de bajo nivel expuestas por la API CLI. Cosas muy interesantes Debo agregar, en aras de la transparencia, que trabajo en el equipo de documentación de AS/EAP, por lo que podría ser parcial.

+0

Gracias por tal respuesta explicativa. Tengo otro mientras estoy haciendo esto. Comienzo mi conexión con jboss-admin.sh en un usuario diferente. Intenté implementar mywar.war en él y me dio un error, que es, Path/home/mobilegw/mywar.la guerra no existe ¿Cómo podré agregar mi mywar.war a un usuario diferente? – Ahmed

+1

Es mejor hacer preguntas específicas por separado, si esta es respondida, para que otras personas que estén buscando encuentren las preguntas más relevantes. Revisando su historial de preguntas tengo una idea clara de lo que está buscando hacer con estas aplicaciones/móviles/FB. Suena como un proyecto interesante. – ddri

Cuestiones relacionadas