告别部署难题:基于华为开发者空间的CodeArts Deploy容器化部署解决方案
本案例通过云主机的CodeArts IDE远程调试功能,使用调试器监听传入连接来进行远程JVM服务的DEBUG调试。
1 概述
1.1 背景介绍
华为云部署服务CodeArts Deploy提供可视化、一键式部署服务,支持部署到虚拟机或者容器,提供Tomcat、SpringBoot等模板或者自由组装编排原子步骤进行部署,支持并行部署和流水线无缝集成,实现部署环境标准化和部署过程自动化。
1.2 适用对象
- 企业
- 个人开发者
- 高校学生
1.3 案例时间
本案例总时长预计30分钟。
1.4 案例流程
说明:
① 购买云资源并初始化配置
② 初始化配置项目部署和运行环境;
③ 通过CodeArts Deploy服务对镜像服务进行部署;
1.5 资源总览
本案例预计花费总计0.1561元。
资源名称 | 规格 | 单价(元) | 时长(h) |
---|---|---|---|
CodeArts | 体验版 | 免费 | 0.5 |
容器镜像服务SWR | 免费 | 免费 | 0.5 |
弹性云服务器ECS | 1U4G | 0.2292元/小时 | 0.5 |
弹性公网IP | 按带宽计费 | 0.083元/小时 | 0.5 |
虚拟私有云VPC | 免费 | 免费 | 0.5 |
网络安全组 | 免费 | 免费 | 0.5 |
体验完整案例请点这里👉️👉️👉️使用云主机CodeArts IDE进行远程JVM服务调试
2 资源部署环境初始化申请与配置
2.1 前置条件
参考“基于CodeArts Build的项目容器化构建”完成容器镜像在SWR容器镜像服务中的归档。
2.2 配置虚拟私有云VPC
进入华为云首页,在华为云的首页右上方,点击“登录”,在弹出的对话框中输入自己的用户名和密码。
在华为云首页,在搜索框中输入“虚拟私有云 VPC”,点击“控制台”进入虚拟私有云控制台页面。
选择“北京四”,点击“我的VPC”,然后点击右上角的“创建虚拟私有云”按钮,进入创建虚拟私有云页面,按照下图配置完成虚拟私有云的创建。
参考以下配置进行VPC的配置。
配置项 | 规格 |
---|---|
区域 | 华北-北京四 |
名称 | vpc-DISCUZ(可自定义) |
企业项目 | default(可选择自己的其他项目,无则不填写) |
子网名称 | vpc-test(可自定义) |
可用区 | 可用区1 |
2.3 配置弹性公网IP EIP
浏览器切换到华为云主页,在搜索框中输入“弹性公网IP EIP”,点击下方的“控制台”进入弹性公网IP服务页面。
点击右上角的“购买弹性公网IP”按钮,进行弹性公网IP的购买。
参考以下配置完成弹性公网IP创建。
配置项 | 规格 |
---|---|
计费模式 | 按需计费 |
区域 | 华北-北京四 |
线路 | 全动态BPG |
公网带宽 | 按带宽计费 |
带宽大小 | 1 |
带宽名称 | 自定义 |
弹性公网IP名称 | discuz_ip(可自定义) |
企业项目 | default(可选择自己的其他项目,无则不填写) |
2.4 配置安全组
点击“网络控制台”左侧菜单栏的“安全组”,点击右上角“创建安全组”来创建安全组并添加规则。
参考以下配置完成安全组的创建。
配置项 | 规格 |
---|---|
区域 | 华北-北京四 |
名称 | sg-DISCUZ(可自定义) |
企业项目 | default(可选择自己的其他项目,无则不填写) |
入方向规则 | 22,3389,80,443,8080,8888 |
2.5 购买ECS云主机
浏览器切换到华为云主页,在搜索框中输入“弹性云服务器 ECS”点击“控制台”进入弹性云服务页面。
点击右上角的“购买弹性云服务器”。
参考下列配置进行弹性云服务器ecs-DISCUZ01的购买。
配置项 | 规格 |
---|---|
计费模式 | 按需计费 |
区域 | 华北-北京四 |
可用区 | 可用区1 |
CPU架构 | X86计算 |
实例规格 | 1vCPUs 4GiB(或者其他相似或以上规格) |
镜像 | 公共镜像-CentOS-centOS7.6(本案例是基于Centos系统实现的,如因Centos下线停止更新导致对后续案例环境有要求的用户可以参考Centos停止维护解决方案 解决。 |
存储与备份 | 系统盘:高IO-40GiB 数据盘:新增-高IO-500GiB-数量1-磁盘随实例释放 |
虚拟私有云 | vpc-DISCUZ |
主网卡 | vpc-test |
安全组 | sg-DISCUZ |
弹性公网IP | 使用已有 |
云服务器名称 | ecs-DISCUZ01(可自定义) |
登录凭证 | 密码 |
密码 | 自定义 |
企业项目 | default(可选择自己的其他项目,无则不填写) |
购买成功后,返回ECS主机列表即可查看到购买成功的ECS资源了。
2.6 登录ECS云主机初始化项目数据库
选中我们的ECS云主机,点击后面的“远程登录”。
选择“VNC登录”。
登录用户输入:root,然后输入我们的ECS云主机root账号的密码,回车。
登录云主机后,在控制台输入以下命令:
yum install -y git
回车安装git工具,然后输入:
cd /opt
回车,然后输入:
git clone https://gitcode.com/guogaoju/E-Commerce-Java.git
回车,进行数据库初始化脚本下载。
然后在控制台输入以下命令进行mysql数据库的安装:
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server --nogpgcheck
systemctl start mysqld
systemctl enable mysqld
查看MySQL运行状态。
systemctl status mysqld.service
执行以下命令,获取安装MySQL时自动设置的root用户密码,记录好,后面使用。
grep 'temporary password' /var/log/mysqld.log
执行以下命令,并按照下图回显提示信息进行操作,加固MySQL。
mysql_secure_installation
执行以下命令,再根据提示输入数据库管理员root账号的密码进入数据库。
mysql -u root -p
执行以下命令,创建数据库:
create database `e-commerce`;
切换到e-commerce库:
use `e-commerce`;
执行以下初始化脚本:
source /opt/E-Commerce-Java/db_init_test.sql
执行成功后,执行以下查询命令查询数据显示如下即表示数据库初始化完成,输入quit退出。
select * from cart;
3 CodeArts Deploy部署任务配置
3.1 部署环境配置
登录华为云首页,在搜索框中搜索“CodeArts Deploy”,点击“控制台”。
跳转到CodeArts Deploy服务控制台,点击右上角的“立即使用”。
跳转到CodeArts Deploy服务页面,点击“新建应用”按钮。
自定义填写基本信息,点击“下一步”。
选择“Docker应用部署-Linux”部署模板,点击“确定”。
点击“环境管理”标签,然后点击“新建环境”。
输入环境名称,点击“保存”。
然后点击左侧资源列表,点击“导入主机”按钮。
点击“基础资源管理”。
点击“新建主机集群”按钮。
输入集群名称,其他默认,点击“保存”。
点击“添加或导入主机”按钮。
选择我们2.5申请的ECS云主机,点击“导入”。
填写ECS云主机的账号密码,端口填写22,点击“确定”。
显示连通性验证成功,即表示云主机已纳管到CodeArts上了。
返回环境管理页面,点击“刷新”图标,即可看到已纳管的云主机,选中云主机,点击“导入”按钮。
即可查看到云主机已纳入了部署环境中。
返回部署任务中,点击“参数设置”页签,host_group参数是应用所部署的主机集群,即选择我们刚刚创建的部署环境docker,image_url是镜像地址,获取请参考 4 附录:4.1 获取SWR容器镜像地址。
点击“部署步骤”页签,安装Docker任务根据下图进行配置。注意:docker版本选择docker-18.03.0。
登录Docker镜像仓,其他参数默认,镜像仓点击“新建”。
连接名称自定义,仓库参数,请参考 4 附录:4.2 获取SWR仓库参数。
镜像仓配置完之后,剩下的任务默认无需修改,直接点击右上角的“保存并部署”。
点击“确定”按钮,即可开始镜像任务的部署。
查看任务部署成功,即表示镜像已成功部署到ECS云主机上了。
3.2 登录ECS云主机查看电商项目后端是否成功启动
登录华为云首页,在搜索框中输入“弹性云服务器 ECS”,点击“控制台”进入弹性云服务页面。
选中我们的ECS云主机,点击后面的“远程登录”。
选择“VNC登录”。
登录用户输入:root,然后输入我们的ECS云主机root账号的密码,回车。
登录云主机后,在控制台输入以下命令查看启动的docker镜像信息:
docker ps -a
回车,即可查看到启动的docker信息。
然后输入以下命令查看docker启动日志:
docker logs 容器ID
将容器ID替换,然后输入命令,回车,即可看到服务已正常启动了。
至此,基于CodeArts Deploy的容器化部署最佳实践全部结束。
4 附录
4.1 获取SWR容器镜像地址
登录华为云首页,在控制台输入“容器镜像服务SWR”点击控制台登录容器镜像服务SWR控制台。
选择“北京四”,然后点击左侧的“我的镜像”,点击我们的电商项目镜像。
复制我们某一版本的下载指令。
docker pull swr.cn-north-4.myhuaweicloud.com/xxx/e_commerce_java:v1.5
其中docker pull后面的即为SWR的容器镜像地址。
4.2 获取SWR仓库参数
登录华为云首页,在控制台输入“容器镜像服务SWR”点击控制台登录容器镜像服务SWR控制台。
选择“北京四”,然后点击右上角的“登录命令”按钮。
点击“复制”图标复制命令。
其中,-u后面是“用户名”,-p后面是“密码”,swr.cn-north-4.myhuaweicloud.com是仓库地址,注意地址前面需要加上“https://”前缀。
docker login
-u cn-north-4@XXX
-p XXX
swr.cn-north-4.myhuaweicloud.com
更多推荐
所有评论(0)