我正在尝试通过命令行自动将我们的Java EE应用程序从构建服务器(Jenkins)部署到远程Glassfish服务器。 目前我正在使用asadmin并且它工作正常,但是这个选项要求我在构建服务器上安装Glassfish - 我想避免,因为我不需要它。构建服务器实际上只运行构建和部署,所以我希望尽可能保持服务器“干净”。
我找不到任何只安装asadmin工具的下载,而且我只尝试手动复制所需的文件失败,因为某些* .jars存在一些我不知道的依赖,所以它总是除非我将整个glassfish安装文件夹复制到构建服务器。
所以我的问题是: 有没有人知道如何在不安装整个Glassfish服务器的情况下只安装asadmin工具? 或者,我也很乐意使用任何其他命令行工具,只要它们允许我使用安全通信部署到远程Glassfish实例。
答案 0 :(得分:3)
在做了一些研究后,我放弃了尝试安装asadmin而没有完整的Glassfish安装,而是使用了Glassfish的REST管理界面。
我现在使用CURL在一个简单的批处理文件中工作:
curl.exe ^
--user glassfish_username:glassfish_password ^
--insecure ^
-H "Accept: application/json" ^
-H "X-Requested-By: dummy" ^
-X POST ^
-F id=@yourfile.war ^
-F contextroot=yourcontextroot ^
-F force=true ^
https://yourservername:4848/management/domain/applications/application/
一旦你知道你需要做什么,REST API就会非常直接,但是以防其他人需要这个,这里有几个要点: