我有一个java项目(巨大的),我想部署到离线环境。
此环境只能访问Nexus(工件库),但不能访问我的git存储库, 所以我用脚本上传我的应用程序,我想对它运行测试 - 但我无法使用测试源运行测试,因为我没有它(无法访问GIT)。 打包测试的最佳方式是什么(在jar文件中?UberJar?), 这样做的最佳做法是什么?
测试是Selenium测试,需要浏览器。
提前致谢。
答案 0 :(得分:1)
你在这里谈论什么样的考试?如果它们是单元测试,那么它们应该在构建过程中运行,无论是在开发环境中还是在构建服务器上。
如果它们是集成测试,那么它们可能需要一些设置,如测试服务器,数据库,文件等。这通常意味着在某处部署集成测试模块本身并针对您的核心项目运行它。
在您的情况下,这意味着您应该在构建集成测试时做一些额外的工作,以便创建包含所有必要的设置和应用程序工件的包。
编辑:在前端测试的情况下,我仍然将测试打包为一个单独的模块,并将测试中的应用程序和selenium套件部署到服务器,例如作为一个简单的.zip
文件。
我会通过SCP或其他直接文件传输部署zip。 Nexus并不适合这种情况,测试工件将位于您的存储库中,占用空间并让人感到困惑。
另一种解决方案是创建一个Docker容器,其中包含运行测试所需的所有内容,并将此容器部署到您的服务器。