蚂蚁为多个服务器构建



我需要为多个服务器创建蚂蚁构建的建议。我有大约25台服务器。如果可能的话,我想通过运行ANT一次为所有服务器实现部署战争文件。我有以下问题要考虑

  • 所有服务器的配置参数都不相同。
  • 一些配置参数我必须设置部署应用程序的服务器主机IP。25
    服务器,想要有关如何处理此问题的一些建议。

您可以将逻辑编码在ANT中执行此操作,但是根据服务器配置的不同,这可能是很多工作。相反,我建议您使用适当的配置管理工具,例如厨师或木偶来自动化您的部署,并使用ANT来构建部署的文件。

我有相同的目标。

您可以编码Maven脚本,以便在Jayan提到的Jenkins上设置詹金斯的连续集成

,也可以像提到的那样创建一个蚂蚁脚本。

<!-- Define custom properties -->
<property name="build.dir" location="${basedir}/target" />
<property name="host.dev" value="YOUR IP" />
<property name="host.live" value="YOUR IP 2" />
<property name="ssh.timeout" value="60000" />
<property name="username.dev" value="username" />
<property name="username.live" value="username 2" />
<property name="password.dev" value="password" />
<property name="password.live" value="password 2" />

创建自己的SSH Macrodef任务以使用SSH命令:

<!-- Define ssh commands sshexec -->
<macrodef name="ssh_cmd">
    <attribute name="host" />
    <attribute name="command" />
    <attribute name="usepty" default="false" />
    <attribute name="username" />
    <attribute name="password" />
    <sequential>
        <echo>Executing command : @{command} on @{username}@@@{host}</echo>
        <sshexec host="@{host}" failonerror="true" username="@{username}" password="@{password}" timeout="${ssh.timeout}" command="@{command}" usepty="@{usepty}" trust="true" />
    </sequential>
</macrodef>

如:

将命令发送到您的服务器
<ssh_cmd host="${host.dev}" command="YOUR COMMAND (ex: sudo start yourservice onlinux)" username="${username.dev}" password="${password.dev}"/>

不要忘记用以下内容导入SSHEXEC/SCP ANT任务。

<property environment="env" />
<taskdef resource="net/jtools/classloadertask/antlib.xml">
    <classpath>
        <fileset dir="${ant.home}/lib" includes="ant-classloader*.jar" />
    </classpath>
</taskdef>

相关内容

  • 没有找到相关文章

最新更新