华为云DevCloud平台部署bootdo博客论坛实战【开发者专属集市】

news2025/2/1 17:52:22

华为云DevCloud平台部署bootdo博客论坛实战【开发者专属集市】

  • 一、bootdo-blog开源博客介绍
  • 二、本次实践所用工具及平台
  • 三、购买华为RDS数据库
    • 1.购买RDS数据库
    • 2.查看RDS数据库状态
  • 四、创建项目
    • 1.登录华为云台DevCloud平台
    • 2.新建项目
    • 3.查看新建项目
    • 4.创建代码仓库
  • 五、配置数据库
    • 1.打开代码仓库
    • 2.下载sql 文件
    • 3.测试连接数据库
    • 4.新建数据库
    • 5.导入sql文件
    • 6.查看sql文件导入状态
  • 六、编译构建docker镜像
    • 1.git代码仓库修改application-dev.yml 文件
    • 2.进行编译构建配置
    • 3.制作镜像
    • 4.查看镜像构建完成状态
  • 七、ECS云主机相关配置
    • 1.查看ECS云主机
    • 2.配置ecs云主机的安全组
    • 3.创建主机组
    • 4.导入ecs主机
    • 5.查看主机组中主机
  • 八、部署bootdo博客应用服务
    • 1.选择部署——新建任务
    • 2.选择docker应用部署
    • 3.选择删除不需要的步骤
    • 4.在创建并启动容器”前添加步骤“执行 Docker 命令
    • 5.安装docker步骤配置
    • 6.登录华为云SWR容器镜像服务
    • 7.登录镜像仓配置
    • 8.设置镜像仓库为新建的服务扩展点
    • 9.拉取镜像配置
    • 10.创建并启动容器配置
    • 11.保存执行并查看执行结果
  • 九、访问bootdo博客
  • 十、本次实践总结

一、bootdo-blog开源博客介绍

bootdo-blog 是由 Java+MySQL+HTML5 的 B/S 架构的 web 项目技术开发,实现了博客论文的在线预览以及后台运维能工作。

二、本次实践所用工具及平台

  • DevCloud:华为云软件开发平台
  • ECS:华为云弹性云服务器
  • RDS:华为云数据库
  • OBS:华为云对象存储服务
  • SWR:华为云容器镜像服务

三、购买华为RDS数据库

1.购买RDS数据库

image.png

2.查看RDS数据库状态

查看并记录其内网地址,后续在代码仓库中配置数据库中使用。

image.png

四、创建项目

1.登录华为云台DevCloud平台

登录华为云后,按“产品”-“开发与运维”-“软件开发平台 DevCloud”路径,进入华为云 DevCloud 平台首页。

image.png

2.新建项目

在新建项目页,按如下参数配置项目
项目流程:Scrum
项目名称::bootdo
点击“确定”按钮完成项目创建

image.png

image.png

3.查看新建项目

image.png

4.创建代码仓库

选择导入外部git仓库https://codehub.devcloud.huaweicloud.com/00de687ca8da4a5d8bcf7f5b55969c30/docker-devcloud.git

image.png

image.png
image.png

五、配置数据库

1.打开代码仓库

image.png

2.下载sql 文件

访问 代码>代码托管>仓库名称(bootdo)>bootdo.sql,点击下载按钮将sql文件下载到本地。
image.png

3.测试连接数据库

image.png

4.新建数据库

点击新建数据库,填入数据库称 bootdo,字符集选择 utf8,确定。

image.png
image.png

5.导入sql文件

数据库创建成功后,点击上方菜单 导入导出>导入>新建任务
导入类型: SQL
选择附件:下载至本地的 sql 文件
附件存放位置:创建 OBS 桶(默认配置,直接创建即可)
数据库:默认 bootdo
字符集:自动检测
其他参数默认

image.png

6.查看sql文件导入状态

image.png

六、编译构建docker镜像

1.git代码仓库修改application-dev.yml 文件

创建完毕后,需要对代码仓库中的 src/main/resources/application-dev.yml 文件进行修改,以连通数据
库。修改内容:url、username 及 password 修改为数据库对应的正确的值。
url:替换其中数据库的内网地址片段
username:数据库的用户名
password:数据库的密码

image.png

2.进行编译构建配置

按照路径“构建&发布”-“编译构建”进入编译构建服务,点击“新建任务”按钮。
image.png

在选择构建模板页,选择“Maven-容器”构建模板,点击“确定”按钮,完成构建任务的创建。

image.png

3.制作镜像

制作镜像并推送到 SWR 仓库步骤,会通过 Dockerfile 制作镜像文件并推送到 SWR 容器镜像服务里,用
于后续的部署。此处将组织、镜像名字、镜像标签设置为正确的值(组织需要在 SWR 中自行创建,可通过
点击组织后的“查看我的组织”按钮进入)。
镜像名字:bootdo-docker
镜像标签:1.6.9(即镜像版本,也可自行设置为 BuildNumber 等系统自带参数)
点击“新建并执行”按钮,执行任务。

image.png

image.png

4.查看镜像构建完成状态

image.png

七、ECS云主机相关配置

1.查看ECS云主机

z主要配置——
区域:华北-北京四(与 DevCloud 项目所在区域保持一致)
可用区:随机分配
CPU 架构:x86 计算
规格:c7.large.2 (可通过 2vCPU,4GB 进行搜索过滤,实际项目根据实际情况选择)
镜像:公共镜像 Ubuntu16.04(40GB)

image.png

2.配置ecs云主机的安全组

进入对应安全组,配置入向 TCP: 22 和 TCP:5000 端口。

image.png

3.创建主机组

选择界面上方“设置”,选择左侧“主机组管理”,点击“新建主机组”按钮。

image.png
image.png

4.导入ecs主机

image.png

5.查看主机组中主机

image.png

八、部署bootdo博客应用服务

1.选择部署——新建任务

按照路径“构建&部署”-“部署”路径进入部署服务,点击“新建任务”按钮。

image.png

2.选择docker应用部署

image.png

3.选择删除不需要的步骤

先去除不需要的步骤。
包括:“选择部署来源(含 Dockerfile 文件)”、“构建镜像”、“镜像打标签”、“镜像上传到镜像仓

image.png

4.在创建并启动容器”前添加步骤“执行 Docker 命令

image.png

5.安装docker步骤配置

将主机组选择已有主机组。

image.png

6.登录华为云SWR容器镜像服务

查看临时访问指令

image.png

7.登录镜像仓配置

点击“登录 Docker 镜像仓”步骤,“新建”镜像仓.
连接名称:自定义
仓库地址:http://+{SWR 登录指令中的服务器地址,以 swr 开头}
用户名:SWR 登录指令中的-u 部分
密码:SWR 登录指令中的-p 部分

image.png

8.设置镜像仓库为新建的服务扩展点

image.png

9.拉取镜像配置

在“执行 Docker 命令”步骤中,将命令设置为 pull,步骤名称会自动修改为“拉取镜像”。执行参数中填
入容器镜像地址(SWR 地址/组织名/镜像名称/镜像版本)。
image.png

10.创建并启动容器配置

在“创建并启动容器”步骤中,执行参数填入:“-d -p 5000:8080 ”+容器镜像地址(SWR 地址/组织名
/镜像名称/镜像版本)

image.png

11.保存执行并查看执行结果

image.png

九、访问bootdo博客

访问地址:http://ECS 公网 IP:5000(ECS 公网 IP 即之前步骤里创建的 ECS 的公网 IP)

image.png

十、本次实践总结

1.ECS和RDS必须在同一区域及可用区,不是同一可用区会导致最后容器启动失败;
2.ECS和RDS必须在同一安全组,可以登录ECS去ping数据库的IP地址,看是否正常,如果不通,容器连接不上数据库会启动失败;
3.可登录SWR控制台,查看创建镜像是否存在;
4.如果登录博客的web界面失败,可以登录ECS看容器及端口是否正常;
5.完成后,本次实践按需付费的所有华为云资源可全部释放;
6.经过以上步骤以及注意事项,本次实践成功完成!

{
【购物节已开启,个人开发者的专属集市AppBazaar来啦(所有商品购物节期间免费体验)】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/381337
此外,在(https://bbs.huaweicloud.com/activity/suggestion.html)提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/631256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

老话新谈之缓存一致性

前言 缓存一致性常见的更新策略也比较多,如先更新数据库再更新缓存,先删缓存再更新数据库等等,我在理解的时候有些混乱,所以这个文章提供了一些理解上的技巧去理解缓存一致性。 为什么会有缓存一致性的问题 缓存与数据库是两套…

网络安全从业人员2023年后真的会被AI取代吗?

随着ChatGPT的火爆,很多人开始担心网络安全从业人员会被AI取代。如果说网络安全挖洞的话,AI可能真的能取代。但是网络安全不仅仅只是挖洞,所以AI只是能缓解网络安全人员不足的情况,但是是不会取代人类的作用的。 就拿最近很火的C…

【STL】priority_queue的使用及模拟实现

目录 前言 priority_queue的使用 功能解析 基本接口 写点题目 模拟实现 结构解析 插入删除 调整函数结合仿函数 仿函数介绍 结合使用 其他功能 接口补齐 迭代器区间构造 前言 🍾打开 queue 头文件后,我们发现除了我们之前介绍过的普通队列…

用maven安装JUnit 5并运行单元测试

一&#xff1a;首先讲如何安装 JUnit 5 JUnit Platform JUnit Jupiter JUnit Vintage 如果不需要执行基于JUnit 3 和JUnit 4 的用例&#xff0c;那么JUnit Vintage就不需要安装。 1&#xff09;在pom文件dependencies的小节内增加如下依赖&#xff1a; <dependency>&l…

Docker安装ClickHouse22.6.9.11并与SpringBoot、MyBatisPlus集成

背景 上一篇文章CentOS6.10上离线安装ClickHouse19.9.5.36并修改默认数据存储目录记录了在旧版的操作系统上直接安装低版本 ClickHouse &#xff08;脱胎于俄罗斯头号搜索引擎的技术&#xff09;的过程&#xff0c;开启远程访问并配置密码&#xff1b; 其实通过 Docker 运行 …

一文读懂性能测试

01、常见概念 吞吐量&#xff08;TPS, QPS&#xff09; 简单来说就是每秒钟完成的事务数或者查询数。通常吞吐量大表明系统单位时间能处理的请求数越多&#xff0c;所以通常希望TPS越高越好 响应时间 即从请求发出去到收到系统返回的时间。响应时间一般不取平均值&#xff0…

二叉树及其链式结构

目录 一&#xff1a;树概念及结构 1.树的概念 2.树的相关概念 3.树的表示 二&#xff1a;二叉树的概念及结构 1.概念 2.特殊的二叉树 <1>. 满二叉树&#xff1a; <2>. 完全二叉树&#xff1a; 3.二叉树的性质 4.二叉树的存储结构 <1>.顺序结构 <…

win11 无法登录微软账户 终极解决方案

背景&#xff1a;win11突然无法登录微软账户&#xff0c;office无法激活&#xff0c;Edge里的微软账户也无法登录&#xff0c;反馈中心也无法打开等&#xff0c;有网络&#xff0c;浏览器可以访问微软并进行登录。 试过网上的网络配置&#xff08;SSL及TLS协议勾选&#xff09…

数学模型:Python实现线性规划

文章摘要&#xff1a;线性规划的Python实现。 参考书籍&#xff1a;数学建模算法与应用(第3版)司守奎 孙玺菁。 PS&#xff1a;只涉及了具体实现并不涉及底层理论。学习底层理论以及底层理论实现&#xff1a;可以参考1.最优化模型与算法——基于Python实现 渐令 粱锡军2.算法导…

vim复制,剪切觉得麻烦?今天就来教会你:vim复制和剪切教程

上次讲了vim移动光标的快捷键&#xff0c;今天我们来了解一下vim的复制多行的功能。 快速复制多行 第一步&#xff1a;将光标移动到复制的文本开始的地方&#xff0c;按下v进入可视模式&#xff0c;这里的v的意思就是visual的缩写&#xff0c;就是可视的意思。 第二步&#x…

DBSCAN 集群

目录 DBSCAN 集群 主要代码 DBSCAN 绘制结果中的集群 DBSCAN 集群 基于密度的空间聚类应用&#xff08;DBSCAN&#xff09;是一种基于密度的聚类算法&#xff0c;由Martin Ester等人在1996年提出。该算法在半径为ε的圆内找到数据点的相邻点&#xff0c;并将它们加入到同一…

Git原理详解+指令操作,带你快速掌握Git

一、相关概念 版本控制 什么是版本控制&#xff1f; 用于管理多人协同开发项目的技术对文件的版本控制&#xff0c;要对文件进行修改、提交等操作 版本控制的分类 1.本地版本控制 就是放在本地 2.集中版本控制 SVN 所有的版本数据都保存在服务器上&#xff0c;协同开发…

GDAL读取属性表值乱码解决方法

文章目录 方法1&#xff1a;方法2&#xff1a;1.通过在线网网站&#xff0c;查看编码2.参考C中gbk和utf8互相转换文章 gdal示例代码 方法1&#xff1a; 在网上查看的推荐方法&#xff08;C代码&#xff09;&#xff0c;但没解决我遇到的问题&#xff1b; CPLSetConfigOption(&…

SSM整合快速入门案例

文章目录 前言一、设计数据库表二、创建工程三、SSM技术整合四、功能模块开发五、接口测试总结 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便日后回顾。当然&#xff0c;如果能帮到一些萌新进行新技术的学习那也是极好的。作者…

Java网络开发(Tomcat)——登陆和注册功能 的 迭代升级 从Jsp到JavaScript + axios + vue 诸多bug 同步到异步

目录 引出前置工作vueaxiosresp0.vue版本的jsp模板1.导包--Json&#xff1a;pom.xml文件&#xff1a;2.新建一个专门用来处理响应的实体类ResData3.在axios中&#xff0c;所有响应必须是 resp.getWriter().write() 的方式&#xff0c;核心代码如下4.在jsp前端代码中导包&#x…

华为OD机试真题B卷 JavaScript 实现【查字典】,附详细解题思路

一、题目描述 输入一个单词前缀和一个字典&#xff0c;输出包含该前缀的单词。 二、输入描述 单词前缀字典长度字典。 字典是一个有序单词数组。 输入输出都是小写。 三、输出描述 所有包含该前缀的单词&#xff0c;多个单词换行输出。 若没有则返回-1。 四、解题思路…

SLAM十四讲——ch3实践

ch3的实践及避坑 一、ch3的总体步骤二、文件的执行1. 实践&#xff1a;Eigen2. 实践&#xff1a;Eigen几何模块3. 可视化演示 出现的问题 一、ch3的总体步骤 确保已经安装Eigen库&#xff0c;Eigen库是一个C开源线性代数库。 sudo apt-get install libeigen3-dev说明&#xf…

在 Compose 中实现缓存列表数据提升用户体验(Stale-while-revalidate)

前言 最近在利用业余时间使用 Compose 实现一个 Github APP 客户端。 对标的是 GSY 大佬使用多种不同语言框架实现的 Github APP。 在实现过程中发现一些问题&#xff0c;因为这个客户端的数据几乎全部来自于 Github API&#xff0c;所以 UI 渲染也极度依赖于请求到的数据。…

JAVA面向对象(三)

第三章 封装与继承 目录 第三章 封装与继承 1.1.封装 1.2.包 1.3.访问权限控制 1.4.static修饰符 1.4.1.成员变量 1.4.2.成员方法 1.4.3.代码块 总结 内容仅供学习交流&#xff0c;如有问题请留言或私信&#xff01;&#xff01;&#xff01;&#xff01;&#xff0…

java并发编程:ArrayBlockingQueue详解

文章目录 一、简介二、数据结构三、源码分析3.1 属性3.2 构造方法3.3 方法3.3.1 入队3.3.2 出队3.3.3 获取元素3.3.4 删除元素 四、总结 一、简介 ArrayBlockingQueue 顾名思义&#xff1a;基于数组的阻塞队列。数组是要指定长度的&#xff0c;所以使用 ArrayBlockingQueue 时…