构建开发环境
本机安装jdk8,安装node,git。需要Eclipse编译Java文件。需要Tomcat验证java工程是否有编译错误。
更新代码
创建一个新的目录,然后从Git上更新client和java工程。
检验代码是否有编译错误
-
Java工程
启动Eclipse,对Java工程执行clean操作,重新编译class文件。编译结束后需要确认class目录的创建时间是当前时间。
然后启动Tomcat,看控制台没有错误,正常启动就可以。
-
client工程
-
cmd进入到client目录后,执行
npm install
初次执行时可能遇到 phantomjs-prebuilt安装失败的问题,如果遇到,重新执行npm install 就可以了。
-
修改client\src\app\platform\system-setting\system-setting.ts文件,将访问的后台服务URL修改为现场环境的IP。(文本编辑器即可)
将下面代码注释掉:
public static baseURL = 'http://localhost:8080/cpad_new/api';
将下面代码的注释打开:
扫描二维码关注公众号,回复: 7079285 查看本文章// public static baseURL = 'http://10.1.21.28:8081/cpad_new/api';
-
修改登录页面,将默认的登陆用户,密码,和验证码删掉。
client\src\app\platform\main\login\login.component.ts中下面代码中L45的admin,admin351,和1删掉,修改为空的字符串就可以。
'account': new CustomFormControl('admin', Validators.required, {label: '用户名'}), 'password': new CustomFormControl('admin351', Validators.required, {label: '密码'}), 'inputCode': new CustomFormControl('1', Validators.required, {label: '验证码'}),
修改为:
'account': new CustomFormControl('', Validators.required, {label: '用户名'}), 'password': new CustomFormControl('', Validators.required, {label: '密码'}), 'inputCode': new CustomFormControl('', Validators.required, {label: '验证码'}),
-
正常安装后,执行
ng serve
-
检验工程是否能正常启动。无错误正常启动就OK。
执行build操作
-
java工程
上一步执行clean操作后,把java目录下的webroot目录整个复制出来,留作给镜像文件使用。
-
client工程
-
修改ngc和webpack命令的内存参数: --max_old_space_size=4096。每个文件添加两处设定。
client\node_modules\.bin\ngc.cmd
client\node_modules\.bin\webpack.cmd\ngc.cmd
修改如下:
ngc.cmd:
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=4096 "%~dp0\..\@angular\compiler-cli\src\main.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=4096 "%~dp0\..\@angular\compiler-cli\src\main.js" %* )
webpack.cmd:
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=4096 "%~dp0\..\webpack\bin\webpack.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=4096 "%~dp0\..\webpack\bin\webpack.js" %* )
2.cmd在client目录下执行
npm run build:webpack
-
由于我们工程比较大,执行时比较耗内存,所以把其他eclipse,tomcat等占内存的应用关掉。
另外,执行时间比较长,估计20分钟左右吧。最后执行完,没有错误就OK。
-
此时如果有错误的话,就是周五我发的几个邮件相关的AOT预编译的错误。你把错误群发一下,谁的文件找谁进行修改。
改完之后,再重新执行上面命令。
-
成功执行后,会在client目录下生成dist目录。这个目录就是client工程编译后的最终结果。
-
-
在docker环境build镜像文件
-
创建java工程镜像文件。
-
将上一步得到的webroot目录复制到12_java_bj目录下,名称修改为:cpad_new
-
将\12_java_bj\cpad_new_config目录下的WEB-INF目录复制到cpad_new目录下。覆盖cpad_new下的配置文件。
-
确认Dockerfile中tomcat的镜像库位置是否正确。(应该修改为你的镜像库,你的镜像库没有的话,就找一台能连接外网的机器 docker pull tomcat:8,然后用
docker save -o xxx.tar tomcat:8导出,再导入到你要执行下面第四步命令的机器上。然后把Dockerfile中的FROM 192.168.131.200/library/tomcat:8 修改为 FROM tomcat:8 应该会好用,有问题再联系。)
-
将12java_bj复制到服务器上,在12java_bj目录内执行
docker build -t cpad_java_bj .
就会创建cpad_java_bj,标签为latest。
-
-
创建client工程的镜像文件
-
将上一步得到的dist文件夹复制到13_client_bj目录下,名称修改为cpad
-
确认Dockerfile中tomcat的镜像库位置是否正确。细节同上。
-
将13client_bj复制到服务器上,然后在13client_bj目录内执行
docker build -t cpad_client_bj .
-