使用托盘将java maven项目部署到ec2?

时间:2012-04-12 16:13:35

标签: java maven amazon-ec2 pallet

我想知道我将如何设置它。我有一个普通的java / tomcat / mysql应用程序,我想部署到EC2。我想使用托盘配置盒子,配置它,并在那里部署我的战争。我希望我能通过maven插件做到这一点?

我想我的另一个选择是创建一个lein项目并使用相对路径部署战争,但我希望maven插件...

1 个答案:

答案 0 :(得分:1)

我无法谈论您问题的AWS和Pallet部分,但假设您有一个正在运行的tomcat实例,您可以直接从maven使用Apache Cargo项目来部署您的应用程序:

以下是我们货物配置的消毒版本:

        <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.2.1</version>
            <configuration>
              <container>
                <containerId>tomcat6x</containerId>
                <type>remote</type>
              </container>

              <configuration>
                <type>runtime</type>
                <properties>
                    <cargo.hostname>${tomcat.hostname}</cargo.hostname>   
                    <cargo.servlet.port>8080</cargo.servlet.port>
                    <cargo.remote.username>$[tomcat.username}</cargo.remote.username>
                    <cargo.remote.password>${tomcat.password}</cargo.remote.password>
                </properties>
              </configuration>

              <deployer>
                <type>remote</type>
                <deployables>
                  <deployable>
                    <groupId>com.mycompany</groupId>
                    <artifactId>MyWebApp</artifactId>
                    <type>war</type>
                    <pingURL>http://my.company.com/url</pingURL>
                    <pingTimeout>80000</pingTimeout>
                    <properties>
                        <context>ROOT</context>
                    </properties>
                  </deployable>
                </deployables>
              </deployer>
            </configuration>
        </plugin>

然后您可以使用此命令运行此操作(当然设置相关属性):

mvn -DskipTests package cargo:deploy

有关将Apache Cargo与Maven一起使用的更多信息,请访问:http://cargo.codehaus.org/Maven2+Plugin+Getting+Started