是否可以从服务器以编程方式取消部署 Web 应用程序(特别是 WAR)。如果答案是肯定的,就是为不同的服务器取消部署不同的方式。
我正在专门寻找从以下服务器取消部署
- 雄猫
- 老板
- 码头
- 玻璃鱼
- 网络球
- 网络逻辑
- 杰罗尼莫
- 树脂
- 乔纳斯
我知道如果不同服务器的取消部署方式不同,这可能是一个很长的答案。在这种情况下,我非常乐意获得一些通用解决方案或有关此信息的指针
是否可以从服务器以编程方式取消部署 Web 应用程序(特别是 WAR)。如果答案是肯定的,就是为不同的服务器取消部署不同的方式。
我正在专门寻找从以下服务器取消部署
我知道如果不同服务器的取消部署方式不同,这可能是一个很长的答案。在这种情况下,我非常乐意获得一些通用解决方案或有关此信息的指针
桑迪普,
我不知道一个 Web 应用程序取消部署另一个 Web 应用程序的标准容器内方式。我的直觉是应用程序本身是“包含”的,规范并不打算让他们管理他们的容器。
也就是说,大多数/所有这些 Web 容器都提供了用于部署和取消部署 Web 应用程序的 API。虽然这些方法并不常见,当我的开发同事为我们的uDeploy产品创建新的集成时,我们必须依次研究每一个。例如,对于 Tomcat,您可以使用 Tomcat 管理器 API。您可以使用开源 Apache Ant 任务作为您想要执行的操作的示例:http: //tomcat.apache.org/tomcat-5.5-doc/manager-howto.html#Executing_Manager_Commands_With_Ant
对于 Websphere,您可能正在编写 jython 脚本或针对 JMX API 进行一些自己的编程。Weblogic 介于两者之间,因为它提供了一些可以借用的好 Ant 脚本以及直接 API。
祝你好运!
我不确定您所说的“取消部署”究竟是什么意思,但是如果您对 Web 服务器具有 SSH 访问权限,则可以安装 Git 源代码控制管理来“切换”不同版本的 Web 应用程序,而不管有问题的 Web 服务器如何。例如,假设您有两个 Git 分支:1)“生产”和 2)“离线”。生产分支将包含 Web 应用程序的生产版本。“离线”分支可能只包含一个文件,例如 index.html,它告诉用户该站点“停止维护”或您拥有什么。
您可以使用以下命令切换分支:
git checkout production
或者
git checkout offline
并且 git 会自动换出文件系统中的所有文件,而 Web 服务器永远不会知道其中的区别。您可以编写一个 shell 脚本来执行此操作,甚至可以将其分配为 cron 作业,以便在计划的时间发生,如果您愿意的话。
请注意,执行此操作时将终止所有用户会话,因此您需要按计划的时间间隔或在通知用户后执行此操作。
您可以在这里找到使用 git 所需的一切:http: //git-scm.com/