前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CodeWave系列:7.CodeWave 智能开发平台 项目导出及本地部署

CodeWave系列:7.CodeWave 智能开发平台 项目导出及本地部署

作者头像
Freedom123
发布2024-03-29 18:19:41
1090
发布2024-03-29 18:19:41
举报
文章被收录于专栏:DevOpsDevOps

1. 前言

上节我们学习了如何基于CodeWave平台进行扩展依赖库的学习,我们学习如何基于CodeWave进行Jar包的创建,Jar包配置以及业务代码编写。截止目前为止,我们已经可以使用CodeWave进行独立的平台开发了,那么如果我们想把CodeWave上的应用导出到本地,独立部署该如何操作呢?这就用到了我们本节需要学习的内容。本节我们将学习如何导出应用,并在本地进行部署测试。

2. 应用导出

CodeWave平台支持将应用导出,并脱离平台部署到其他环境。目前CodeWave支持四种方式的导出,如下表所示:

应用镜像导出

应用远程部署

应用源码导出–后端代码+前端静态文件

应用源码导出–后端代码+前端代码

优势

便捷,直接就能部署,不用准备编译环境、不会遇到依赖包问题

更便捷,能够将应用镜像自动上传到部署环境服务器,自动部署服务

灵活,可二次开发后端源码,可做代码审查、代码集成

更灵活,可二次开发后端源码+前端源码,可做代码审查、代码集成

不足

不能二次开发源码

不能二次开发源码

需要自行编译后端代码

需要自行编译后端代码和前端代码

使用场景

应用不需要二次开发,希望快速部署

独立部署环境与低代码平台环境网络联通,同时希望快速部署。

应用需要二次开发或有代码审查、代码集成需求

应用需要二次开发或有代码审查、代码集成需求

镜像导出: 将整个操作系统、应用程序和配置文件等打包成一个镜像文件,并导出到其他环境中。导出之后浏览器会下载一个压缩包到本地,解压压缩包即可得到相关镜像、配置文件、全量sql文件。

源码导出: 将软件应用程序的源代码文件及其依赖的库文件一起打包并导出到其他环境中。源码形式包含:

  • 后端代码+前端静态文件:打包后端代码和各类静态资源文件。
  • 后端代码+前端代码:打包后端代码、静态资源文件和包括业务逻辑、交互行为在内的JavaScript代码。

镜像导出和源码导出的区别

(1)内容不同:镜像导出包含了整个软件环境和配置,而源码导出只包含源代码和依赖库。

(2)部署方式不同:镜像导出可以通过直接运行镜像文件来部署软件,而源码导出需要进行编译和配置。

(3)灵活性不同:镜像导出主要用于复制相同的环境,源码导出可用于自定义修改和跨平台编译。

3.源码导出部署

3.1 源码导出(后端代码+前端静态文件)

进入应用开发页面,在更多选项里找到导出和部署

在导出应用弹框中选择导出方式为源码,源码形式分为两种:

  • 后端代码+前端静态文件,该种方式适合快速独立部署,前后端不分离模式
  • 后端代码+前端代码,该种方式适合灵活部署,前后端分离模式

此处我们选择(后端代码+前端静态文件),上述步骤完成之后浏览器会下载一个压缩包到本地,解压压缩包即可得到相关源码。

  • dependency 源码依赖的依赖库和二方包
  • src\main\resources\db 存放建表语句以及表变更语句

3.2 源码部署(后端代码+前端静态文件)

(1)配置文件修改

下载的源码配置默认和所选环境(开发或生产)一致,独立部署时一般需要修改部分配置项,其中开发环境对应的配置文件为/src/main/resources/application-dev.yml,生产环境对应的配置文件为/src/main/resources/application-online.yml。下面列出几个常见的需要修改的配置项

  • spring.datasource.url:数据库地址。
  • spring.datasource.username:数据库账号。
  • spring.datasource.password:数据库密码。
(2)初始化数据库

应用的数据库初始化脚本存放在/src/main/resources/db/{数据源}-{数据库类型}.sql,比如/src/main/resources/db/defaultDS-mysql.sql。下面以mysql为例:

代码语言:javascript
复制
-- 先建立数据库,这里根据实际情况执行
create database lcap_test;

-- 执行初始化脚本
-- 利用source命令,或者直接粘贴sql执行

source {源码目录}/src/main/resources/db/defaultDS-mysql.sql
(3)源码编译

在应用名目录下,执行下面的maven命令。

代码语言:javascript
复制
mvn clean package -DskipTests
(4)启动服务

通过jar打包启动服务,这种方式通过下面的命令启动服务。

代码语言:javascript
复制
## 使用jar内的配置文件
java -Dspring.active={环境} -jar {jar包名称}

## 或者将配置文件外挂
java -jar {jar包名称} --spring.config.location={配置文件绝对路径}
(5)访问服务

一般访问部署节点的8080端口(默认端口,可修改配置文件)即可,比如服务启动在本机上则可在浏览器访问 http://localhost:8080

4.应用镜像导出部署

4.1 镜像导出

进入应用可视化开发页面 选择 导出应用,接着选择导出选择方式为镜像,并选择需要导出的环境。上述步骤做完之后浏览器会下载一个压缩包到本地,解压压缩包即可得到相关镜像、配置文件、全量sql文件。

对下载文件进行解压,并进入到imge_export目录,可以看到有三个子目录:

  • image: docker镜像压缩包
  • db: sql文件
  • config:配置文件,包括定时器配置

4.2 镜像部署

(1)创建depoly目录

在具有Docker环境的服务器路径下新建一个目录deploy,在终端输入以下指令即可。

代码语言:javascript
复制
mkdir deploy
(2)上传文件到depoly目录

上传镜像包到具有Docker环境的depoly目录下。

代码语言:javascript
复制
scp -r <filepath> <username>@<IP address>:<path/>

再输入ls,查看该路径下的文件,可以发现应用部署包都已经成功上传了。

(3)初始化数据库

需进入到db目录。

应用的数据库初始化脚本为db/{数据库类型}.sql,比如db/mysql.sql、db/oracle.sql。下面以mysql为例:

代码语言:javascript
复制
-- 先建库,这里根据实际情况执行
create database lcap_test;

-- 执行初始化脚本
-- 利用source命令,或者直接粘贴sql执行

source mysql.sql
(4)修改配置文件

需进入到config目录。

下载的源码配置默认和所选环境(开发或生产)一致,独立部署时一般需要修改部分配置项,其中开发环境配置文件名为application.yml,生产环境对应的配置文件为config/application-online。下面列出几个常见的需要修改的配置项:

  • spring.datasource.url:数据库地址。
  • spring.datasource.username:数据库账号。
  • spring.datasource.password:数据库密码。
(5)加载镜像

进入image 使用docker load命令加载docker镜像压缩包。

代码语言:javascript
复制
docker load -i {docker镜像文件名}

如:docker load -i hello.tar.gz

之后即可看到加载后的docker镜像,也可以通过docker images查看。

(6)启动服务

启动服务的前提条件:

  1. sql已执行。
  2. 配置文件修改。
  3. 镜像已加载。

启动服务的命令如下:

代码语言:javascript
复制
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状态情况,则表示服务启动。

(7)访问服务

一般访问部署节点的8080端口(默认端口,可修改配置文件)即可,比如浏览器访问http://{ip}:8080。

5.小结

本节我们学习了如何基于CodeWave进行平台应用的导出和部署,我们学习了俩种导出方式,源码导出和镜像导出。通过本节的学习,相信同学们应该已经学习了如何对应用进行导出和部署,希望同学们多多加以联系。

到目前为止,我们基本上已经学习完了CodeWave常用功能,下一节我们将通过一篇实战作为本系列的结尾,也欢迎同学们多多和小编沟通交流。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前言
  • 2. 应用导出
  • 3.源码导出部署
    • 3.1 源码导出(后端代码+前端静态文件)
      • 3.2 源码部署(后端代码+前端静态文件)
        • (1)配置文件修改
        • (2)初始化数据库
        • (3)源码编译
        • (4)启动服务
        • (5)访问服务
    • 4.应用镜像导出部署
      • 4.1 镜像导出
        • 4.2 镜像部署
          • (1)创建depoly目录
          • (2)上传文件到depoly目录
          • (3)初始化数据库
          • (4)修改配置文件
          • (5)加载镜像
          • (6)启动服务
          • (7)访问服务
      • 5.小结
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com