Maven 或 Ant 用于远程服务器上的自动部署和 运行 项目
Maven or Ant for autodeploy and run project on remote server
我有一个关于自动化我的项目生命周期的问题。
现在我手动做这个:
- 用 Ant 构建我的项目,获取目标 jar,手动重命名它(添加
后缀,如version2.0-myProject.jar);
- 通过 ssh 连接到远程服务器,打开 FreeComander 并复制 jar
文件和 INI 属性文件到远程服务器上的不同文件夹;
- 远程 运行 我的应用程序抛出 putty(在服务器上执行 bat 文件,
其中包含所有 cmd 运行 命令。此 .bat 包含 plink.exe 到 Lunux 服务器的远程命令,其中包含应用程序实例)。
我想做的事情:
我想自动化部署过程,包括构建阶段和应用程序 运行 阶段,
我想做这个:
当执行 buld 时,用户要求输出 jar 文件后缀(如 varian2-myapp.jar),要求用户提供稍后将执行的程序的属性文件,并要求用户为 JVM 分配内存(现在它是 cmd 的一部分.bat 文件中的命令)
我的应用很简单,包含 15 个 类 和 3 个外部库。我想让部署变得简单并使这个过程自动化,我了解到 Maven 或 Ant Build 可以帮助我。请说说,哪种方式更适合我使用这个构建系统的任务。
使用 Maven,您可以使用 Maven Release Plugin
将您的包(例如,它可以是包含您的 jar 和其他依赖项的 zip)部署到 Maven 存储库(您可以在 运行您的服务器之一)。
这个页面应该让你开始:
http://maven.apache.org/maven-release/maven-release-plugin/
有了 Ant,您可以改用 Apache Ivy:
http://ant.apache.org/ivy/history/2.2.0/index.html
然后您需要一种方法来告诉为您的应用提供服务的服务器拉取包并开始使用它(安装它)。
您可以编写一个简单的脚本来拉取您远程触发的回购协议,也许使用
plink -m
就像您现在所做的那样,或者使用一种预构建的自动化软件,例如 https://puppet.com/。
我有一个关于自动化我的项目生命周期的问题。 现在我手动做这个:
- 用 Ant 构建我的项目,获取目标 jar,手动重命名它(添加 后缀,如version2.0-myProject.jar);
- 通过 ssh 连接到远程服务器,打开 FreeComander 并复制 jar 文件和 INI 属性文件到远程服务器上的不同文件夹;
- 远程 运行 我的应用程序抛出 putty(在服务器上执行 bat 文件, 其中包含所有 cmd 运行 命令。此 .bat 包含 plink.exe 到 Lunux 服务器的远程命令,其中包含应用程序实例)。
我想做的事情: 我想自动化部署过程,包括构建阶段和应用程序 运行 阶段, 我想做这个: 当执行 buld 时,用户要求输出 jar 文件后缀(如 varian2-myapp.jar),要求用户提供稍后将执行的程序的属性文件,并要求用户为 JVM 分配内存(现在它是 cmd 的一部分.bat 文件中的命令)
我的应用很简单,包含 15 个 类 和 3 个外部库。我想让部署变得简单并使这个过程自动化,我了解到 Maven 或 Ant Build 可以帮助我。请说说,哪种方式更适合我使用这个构建系统的任务。
使用 Maven,您可以使用 Maven Release Plugin
将您的包(例如,它可以是包含您的 jar 和其他依赖项的 zip)部署到 Maven 存储库(您可以在 运行您的服务器之一)。
这个页面应该让你开始:
http://maven.apache.org/maven-release/maven-release-plugin/
有了 Ant,您可以改用 Apache Ivy:
http://ant.apache.org/ivy/history/2.2.0/index.html
然后您需要一种方法来告诉为您的应用提供服务的服务器拉取包并开始使用它(安装它)。
您可以编写一个简单的脚本来拉取您远程触发的回购协议,也许使用
plink -m
就像您现在所做的那样,或者使用一种预构建的自动化软件,例如 https://puppet.com/。