Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用哈德逊&x2B;maven+;将应用程序部署到jboss服务器的货物?_Jboss_Maven_Hudson_Cargo - Fatal编程技术网

如何使用哈德逊&x2B;maven+;将应用程序部署到jboss服务器的货物?

如何使用哈德逊&x2B;maven+;将应用程序部署到jboss服务器的货物?,jboss,maven,hudson,cargo,Jboss,Maven,Hudson,Cargo,我想使用hudson with maven plugin将应用程序部署到Jboss 6服务器,方法如下: Hudson调用maven clean安装任务 在pom.xml文件中定义了cargo插件(版本1.0.6) cargo插件定义了阶段安装的执行重新部署,目标是停止和启动(按此顺序) 一切正常-项目被清理并安装,然后jboss服务器被停止(使用cargo:stop)并再次启动(使用cargo:start)。在开始阶段,目标是将我的项目部署到jboss。当我测试我的网站时,它工作正常,所有的变

我想使用hudson with maven plugin将应用程序部署到Jboss 6服务器,方法如下:

  • Hudson调用maven clean安装任务
  • 在pom.xml文件中定义了cargo插件(版本1.0.6)
  • cargo插件定义了阶段安装的执行重新部署,目标是停止和启动(按此顺序)
  • 一切正常-项目被清理并安装,然后jboss服务器被停止(使用cargo:stop)并再次启动(使用cargo:start)。在开始阶段,目标是将我的项目部署到jboss。当我测试我的网站时,它工作正常,所有的变化都存在

    唯一的问题是,在Jboss服务器启动后,maven没有成功完成其执行,因为它会显示消息“[INFO]按Ctrl-C停止容器…”,并等待按Ctrl-C。这是标准的cargo:start行为。结果是,哈德逊作业没有成功完成

    我现在要求的是针对这个小问题的som解决方案。我花了很长的时间(大约16个小时)才到达这个状态,如果我不得不完全重做它,我会很不高兴

    我的想法是如何实现的(但我无法用谷歌搜索任何有用的东西):

    • 强制hudson在后台运行maven任务
    • 强制货物在后台运行jboss(一些spawn、fork、jvm参数、jboss运行时参数)
    • 强制maven在后台运行任务
    我之所以尝试这个解决方案,是因为我想让jboss在服务器上永久运行,而cargo remote deploy选项对我来说并不好,因为它占用了太多的系统资源。此解决方案适用于安装project,然后重新启动服务器(停止-启动)

    谢谢你的帮助。以下是我的cargo插件配置:

    <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.0.6</version>
                <configuration>
                    <container>
                        <containerId>jboss6x</containerId>
                        <append>false</append>
                        <timeout>300000</timeout>
                        <home>/atteq/jboss</home>
                    </container>
                    <configuration>
                        <properties>
                            <cargo.servlet.port>8080</cargo.servlet.port>
                            <cargo.jboss.configuration>atteq-minimal</cargo.jboss.configuration>
                            <cargo.logging>high</cargo.logging>
                            <cargo.rmi.port>1099</cargo.rmi.port>
                            <cargo.jvmargs>-XX:PermSize=512m -XX:MaxPermSize=1024
                            -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled
                            -XX:+CMSClassUnloadingEnabled</cargo.jvmargs>
                            <cargo.runtime.args>--host 0.0.0.0</cargo.runtime.args>
    
                        </properties>
                            <type>existing</type>
                        <home>/atteq/jboss/server/atteq-minimal</home>
                    <deployables>
                        <deployable>
                            <groupId>roztocto</groupId>
                            <artifactId>roztocto</artifactId>
                            <type>war</type>
                        </deployable>
                    </deployables>
    
                        </configuration>
                    </configuration>
                <executions>
                    <execution>
                        <id>redeploy</id>
                        <phase>install</phase>
                        <goals>
                            <goal>stop</goal>
                            <goal>start</goal>
                        </goals>
                    </execution>
                </executions> 
                <dependencies>
                        <dependency>
                            <groupId>org.codehaus.cargo</groupId>
                            <artifactId>cargo-core-tools-jboss-deployer-5.1-and-onwards</artifactId>
                            <version>1.0.6</version>
                        </dependency>
                    <dependency>
                        <groupId>org.jboss.jbossas</groupId>
                        <artifactId>jboss-as-profileservice-client</artifactId>
                        <version>6.0.0.Final</version>
                        <type>pom</type>
                    </dependency>
    
                        <dependency>
                            <groupId>org.jboss.profileservice</groupId>
                            <artifactId>jboss-profileservice-spi</artifactId>
                            <version>0.2.2</version>
                        </dependency>
    
                        <dependency>
                            <groupId>org.jboss.jbossas</groupId>
                            <artifactId>jboss-as-client</artifactId>
                            <version>6.0.0.Final</version>
                            <type>pom</type>
                        </dependency>
                </dependencies>
    
            </plugin>
    
    
    org.codehaus.cargo
    cargo-maven2-plugin
    1.0.6
    jboss6x
    假的
    300000
    /atteq/jboss
    8080
    atteq极小值
    高的
    1099
    -XX:PermSize=512m-XX:MaxPermSize=1024
    -XX:+UseConcMarkSweepGC-XX:+CmsPermGensSweepInEnabled
    -XX:+CMSClassUnloadingEnabled
    --主机0.0.0.0
    现有的
    /atteq/jboss/server/atteq最小值
    罗兹托托
    罗兹托托
    战争
    重新部署
    安装
    停止
    开始
    org.codehaus.cargo
    cargo-core-tools-jboss-deployer-5.1及以上版本
    1.0.6
    org.jboss.jbossas
    jboss作为profileservice客户端
    6.0.0.1决赛
    聚甲醛
    org.jboss.profileservice
    jboss profileservice spi
    0.2.2
    org.jboss.jbossas
    jboss作为客户端
    6.0.0.1决赛
    聚甲醛
    
    如何将
    属性设置为true?根据

    决定货物是否应在集装箱装运后等待
    启动与否默认为true
    
    < /代码>

    Hudson监视所有正在运行的进程,并不会考虑在它们全部结束之前完成构建。我不熟悉货运,但这里是我在哈德逊的经验笔记。要通过监控网络获取进程,您可能需要:

    • 在后台运行JBoss
    • 在Hudson配置中将环境变量-Dhudson.util.ProcessTreeKiller.disable设置为true
    • 将BUILD_ID=dontKillMe设置为shell环境变量
    查看哈德逊维基。 或者詹金斯维基


    詹金斯和哈德逊基本上是同一件事,但双方最近分裂。我会让你阅读小组和小组的详细信息。编辑:同样,SO问题看起来不错,但事实并非如此-当设置为false时,容器会启动然后停止(它不会等待Ctrl-c停止,而是立即停止)。我需要我的容器(jboss)在启动后保持运行。请确保wait参数放置在正确的位置。在您的示例中,尝试这样添加它:。。。是的……你找到解决这个问题的办法了吗?我也在尝试做同样的事情。
    <wait>  Decides if Cargo should wait after the container is 
                started or not                                   Defaults to true