我已经录制了一个视频,该视频介绍了如何使用Adam Bien和Docker容器使用Watch and Deploy (WAD)来最大程度地缩短开发周转时间。 WAD工具监视文件更改,并将重新构建我们的应用程序并将其重新部署到自动部署目录。 我们将看到如何将该方法集成到由生产环境中运行的相同Docker映像创建的容器中。
除了有关Quarkus的快速转变的新闻(这是一个非常有趣的项目)外,仅使用Java EE和快速部署的应用程序服务器,就有可能拥有良好的开发经验。 WAD工具监视我们在项目中所做的任何更改,然后重新部署我们的应用程序。 如果在Docker容器中运行应用程序,则可以并且实际上应该在本地使用相同的Docker映像,稍后将在生产环境中运行该映像。
为了我们的目的,我们将自动部署目录安装到本地Docker容器中。 WAD将监视我们的项目目录并相应地热更新部署工件。
您可以自动执行Docker映像创建,容器启动和WAD调用,类似于以下内容:
#!/bin/bash docker build -t test-project: 1 . docker stop test-project || true docker run -d --rm \ --name test-project \ -p 9080 : 9080 \ -v /tmp/wad-dropins/:/opt/wlp/usr/servers/defaultServer/dropins/ \ test-project: 1 java -jar <path-to-wad>/wad.jar /tmp/wad-dropins/
如果然后在应用程序中更改代码文件,则WAD将重新生成应用程序,将工件复制到映射到容器的目录中,然后应用程序服务器将重新部署该应用程序。
在我的视频中,我使用Open Liberty来达到我的目的足够快:
... [AUDIT]: The application test-project has stopped successfully. [AUDIT]: Web application available (default_host) http: //44ae8449d5eb:9080/test-project/ [AUDIT]: Web application available (default_host) http: //44ae8449d5eb:9080/test-project/ [AUDIT]: The application test-project updated in 0.685 seconds. [AUDIT]: The application test-project updated in seconds.
快乐的生产发展!
发现帖子有用吗? 订阅我的时事通讯,获取有关IT和Java的更多免费内容,技巧和窍门:
成功! 现在检查您的电子邮件以确认您的订阅。
©Sebastian Daschner,CC BY-NC-SA 4.0
翻译自: https://www.javacodegeeks.com/2019/04/hot-deploying-java-enterprise-wad-docker.html