上节我们学习了如何基于CodeWave平台进行扩展依赖库的学习,我们学习如何基于CodeWave进行Jar包的创建,Jar包配置以及业务代码编写。截止目前为止,我们已经可以使用CodeWave进行独立的平台开发了,那么如果我们想把CodeWave上的应用导出到本地,独立部署该如何操作呢?这就用到了我们本节需要学习的内容。本节我们将学习如何导出应用,并在本地进行部署测试。
CodeWave平台支持将应用导出,并脱离平台部署到其他环境。目前CodeWave支持四种方式的导出,如下表所示:
应用镜像导出 | 应用远程部署 | 应用源码导出–后端代码+前端静态文件 | 应用源码导出–后端代码+前端代码 | |
---|---|---|---|---|
优势 | 便捷,直接就能部署,不用准备编译环境、不会遇到依赖包问题 | 更便捷,能够将应用镜像自动上传到部署环境服务器,自动部署服务 | 灵活,可二次开发后端源码,可做代码审查、代码集成 | 更灵活,可二次开发后端源码+前端源码,可做代码审查、代码集成 |
不足 | 不能二次开发源码 | 不能二次开发源码 | 需要自行编译后端代码 | 需要自行编译后端代码和前端代码 |
使用场景 | 应用不需要二次开发,希望快速部署 | 独立部署环境与低代码平台环境网络联通,同时希望快速部署。 | 应用需要二次开发或有代码审查、代码集成需求 | 应用需要二次开发或有代码审查、代码集成需求 |
镜像导出: 将整个操作系统、应用程序和配置文件等打包成一个镜像文件,并导出到其他环境中。导出之后浏览器会下载一个压缩包到本地,解压压缩包即可得到相关镜像、配置文件、全量sql文件。
源码导出: 将软件应用程序的源代码文件及其依赖的库文件一起打包并导出到其他环境中。源码形式包含:
镜像导出和源码导出的区别:
(1)内容不同:镜像导出包含了整个软件环境和配置,而源码导出只包含源代码和依赖库。
(2)部署方式不同:镜像导出可以通过直接运行镜像文件来部署软件,而源码导出需要进行编译和配置。
(3)灵活性不同:镜像导出主要用于复制相同的环境,源码导出可用于自定义修改和跨平台编译。
进入应用开发页面,在更多选项里找到导出和部署
在导出应用弹框中选择导出方式为源码,源码形式分为两种:
此处我们选择(后端代码+前端静态文件),上述步骤完成之后浏览器会下载一个压缩包到本地,解压压缩包即可得到相关源码。
下载的源码配置默认和所选环境(开发或生产)一致,独立部署时一般需要修改部分配置项,其中开发环境对应的配置文件为/src/main/resources/application-dev.yml,生产环境对应的配置文件为/src/main/resources/application-online.yml。下面列出几个常见的需要修改的配置项
应用的数据库初始化脚本存放在/src/main/resources/db/{数据源}-{数据库类型}.sql
,比如/src/main/resources/db/defaultDS-mysql.sql
。下面以mysql为例:
-- 先建立数据库,这里根据实际情况执行
create database lcap_test;
-- 执行初始化脚本
-- 利用source命令,或者直接粘贴sql执行
source {源码目录}/src/main/resources/db/defaultDS-mysql.sql
在应用名目录下,执行下面的maven
命令。
mvn clean package -DskipTests
通过jar打包启动服务,这种方式通过下面的命令启动服务。
## 使用jar内的配置文件
java -Dspring.active={环境} -jar {jar包名称}
## 或者将配置文件外挂
java -jar {jar包名称} --spring.config.location={配置文件绝对路径}
一般访问部署节点的8080端口(默认端口,可修改配置文件)即可,比如服务启动在本机上则可在浏览器访问 http://localhost:8080
进入应用可视化开发页面 选择 导出应用,接着选择导出选择方式为镜像,并选择需要导出的环境。上述步骤做完之后浏览器会下载一个压缩包到本地,解压压缩包即可得到相关镜像、配置文件、全量sql文件。
对下载文件进行解压,并进入到imge_export目录,可以看到有三个子目录:
在具有Docker环境的服务器路径下新建一个目录deploy,在终端输入以下指令即可。
mkdir deploy
上传镜像包到具有Docker环境的depoly目录下。
scp -r <filepath> <username>@<IP address>:<path/>
再输入ls,查看该路径下的文件,可以发现应用部署包都已经成功上传了。
需进入到db目录。
应用的数据库初始化脚本为db/{数据库类型}.sql,比如db/mysql.sql、db/oracle.sql。下面以mysql为例:
-- 先建库,这里根据实际情况执行
create database lcap_test;
-- 执行初始化脚本
-- 利用source命令,或者直接粘贴sql执行
source mysql.sql
需进入到config目录。
下载的源码配置默认和所选环境(开发或生产)一致,独立部署时一般需要修改部分配置项,其中开发环境配置文件名为application.yml,生产环境对应的配置文件为config/application-online。下面列出几个常见的需要修改的配置项:
进入image 使用docker load命令加载docker镜像压缩包。
docker load -i {docker镜像文件名}
如:docker load -i hello.tar.gz
之后即可看到加载后的docker镜像,也可以通过docker images查看。
启动服务的前提条件:
启动服务的命令如下:
docker run --name {容器名} -i -p 8080:8080 --mount type=bind,source={config目录地址},target=/config -d {docker加载后的镜像名}
示例:docker run --name exportdemo -i -p 8080:8080 --mount type=bind,source=/root/deploy/image_export/config,target=/config -d exportdemo:1675996801568
接着可以通过docker ps -a 命令查看容器情况。
一般来说,超过30s,容器仍处于UP状态情况,则表示服务启动。
一般访问部署节点的8080端口(默认端口,可修改配置文件)即可,比如浏览器访问http://{ip}:8080。
本节我们学习了如何基于CodeWave进行平台应用的导出和部署,我们学习了俩种导出方式,源码导出和镜像导出。通过本节的学习,相信同学们应该已经学习了如何对应用进行导出和部署,希望同学们多多加以联系。
到目前为止,我们基本上已经学习完了CodeWave常用功能,下一节我们将通过一篇实战作为本系列的结尾,也欢迎同学们多多和小编沟通交流。