华为云凤凰商城项目实践实验三——持续部署与发布

2024-01-01 09:20

本文主要是介绍华为云凤凰商城项目实践实验三——持续部署与发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

实验介绍

实验目的

实验过程

3.1购买并配置弹性云服务器

3.2使用 CodeArts 部署服务配置主机环境

3.3使用自动化部署实现一键部署

3.4持续交付流水线

3.4.1配置流水线串接代码检查,编译构建和自动化部署步骤

3.4.2更新流水线配置,实现代码变更触发的持续交付流水线

3.4.3流水线配置高级功能

3.5资源释放


实验介绍

在本实验中,学习

⚫ 如何购买并配置指定规格的弹性云服务资源

⚫ 如何在弹性云服务器上配置好相应的依赖工具

⚫ 如何在 CodeArts 中添加主机组并进行主机授信

⚫ 如何获取 SWR 镜像仓库的账号信息

⚫ 如何创建 "部署任务",完成应用的 Docker 镜像拉取并部署

⚫ 如何创建流水线任务,从而实现持续部署与交付。

实验目的

⚫ 掌握如何购买弹性云服务资源 ECS

⚫ 理解并掌握使用 CodeArts 部署 Docker 镜像

⚫ 理解 SWR 镜像仓库的功能与使用

⚫ 理解并掌握使用 CodeArts 流水线服务实现持续部署与交付

实验过程

3.1购买并配置弹性云服务器

通过本节,学习如何购买并配置 Linux 系统 ECS 主机。 本章节使用的是弹性云服务器 ECS,您也可以使用自己的 Linux 主机。

①购买 ECS 主机。

登录弹性云服务器ESC官网,单击"立即购买",进入弹性云服务器控制台。

使用以下配置

点击“下一步:网络配置”

使用默认配置,点击“下一步:高级配置”

设置云服务器名称和密码,点击“下一步:确认配置”

勾选协议声明,点击“立刻购买”

点击返回云服务器列表

看到云服务器已成功创建

②单击云主机名称,进入主机管理页面。选择"安全组"页签,单击"配置规则",进入安全组管理界面。

选择"入方向规则"页签,单击"添加规则",添加一条入方向规则"允许访问 5000 以及 5001 端口",优先级设置为1。

进入项目,单击页面左侧导航"设置 > 通用设置>基本资源管理",单击"新建主机集群"。

输入主机组名,选择Linux直连模式,单击"保存"。

当出现以下提示时,表示主机添加成功。

3.2使用 CodeArts 部署服务配置主机环境

部署(CloudDeploy)提供可视化、一键式部署服务,支持并行部署和流水线无缝集成,支持 脚本部署,容器部署等部署类型,支持 java、node.js、python 等多种技术栈,实现部署环境标 准化和部署过程自动化。

凤凰商城软件要部署到前一节购买的 ECS 服务器主机上,需要配置主机环境,安装凤凰商城 运行所需的软件。本节将为 ECS 云主机安装 Docker 以及 Docker-Compose。

①进入项目,单击页面左侧导航"持续交互 > 部署",进入部署服务。

点击左上角"新建应用",自定义应用名称,进入下一步

点击“使用空白模板”

②在部署步骤中添加步骤"安装/卸载 Docker"

点击“新建”环境

输入环境名称,点击“保存”

点击“导入主机”

设置主机组为前述已添加的授信主机组

点击“立刻前往”进行主机创建

点击"新增目标主机"

按照之前购买的云服务器信息填写

主机添加成功

返回配置步骤界面,选择刚配置的环境

③点击"安装/卸载 Docker"方框下方的 ,继续添加步骤"执行 shell 命令",

在 shell 命令框中输入如下命令行

sudo apt-get install libssl-dev libffi-dev python-dev build-essential libxml2-dev libxslt1-dev -y pip3 install six --user -U

pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple docker-compose==1.17.1

点击“执行shell命令”下方+号,安装 python3

选择Python-3.7.1

保存并部署,等待成功安装。

3.3使用自动化部署实现一键部署

通过本节,学习如何使用部署服务结合弹性云服务器 ECS,完成应用的自动化部署。

①持续部署配置。进入项目,单击页面上方导航"持续交付 > 部署",进入部署服务。找到部署任务"phoenix-sample-standalone",点击最右侧,选择“编辑”。

选择"部署步骤"页签,单击部署步骤"选择部署来源",编译以下信息。

选择源类型:选择"构建任务"。

主机组:按照相同方法新建环境。选择在添加授信主机中创建的主机组。选择环境最后,系统会弹框确认"是否将后续步骤的环境也修改为phoenix-sample-env?",单击"确定"即可。

请选择构建任务:选择"phoenix-sample-ci"。

③"解压文件"与"执行 shell 命令"页签保持默认配置即可。

④选择"参数设置"页签,根据 SWR 服务登录指令填写参数。登录指令通过 SWR 控制台获 取,操作方式如下:

登录容器镜像服务SWR官网,单击"立即使用",进入容器镜像服务控制台。检查页面左上方的"区域"列表,选择与编译构建任务所在区相同的区域。

单击"登录指令",系统生成并弹框显示 docker login 指令。 登录指令中:

-u 之后的字符串为用户名(docker-username)

-p 之后的字符串为密码(docker-password)

最后的字符串为服务器地址(docker-server)

⑤单击"保存并部署",启动部署任务。系统自动跳转至"部署详情"页面,可以查看任务 执行进展。当出现以下页面时,表示任务执行成功。

⑥部署异常情况排查

⑦验证部署结果。打开浏览器,输入"http:// xxx.xxx.xxx.xxx:5000",即可访问凤凰商城。

3.4持续交付流水线

在本实验中,学习

⚫ 如何创建"流水线"任务,完成应用程序持续交付流水线的搭建

⚫ 如何创建实现代码变更自动触发持续交付流水线任务,完成应用的自动化测试以及部署

⚫ 在"流水线"中添加"人工审核"功能

3.4.1配置流水线串接代码检查,编译构建和自动化部署步骤

通过本节,学习如何创建流水线任务,完成应用程序持续交付流水线的搭建。

①创建并触发持续交付流水线。进入项目,单击页面左侧导航" 持续交付> 流水线",进 入流水线服务。

②单击"新建流水线"。

模板默认。

③编辑流水线。

修改流水线名称为 phoenix-sample-pipline

④单击阶段1"新建任务"中添加任务。在右侧滑出框中,类型选择"Check代码检查", 任务勾选"phoenix-codecheck-worker",单击"保存"。

⑤在"阶段2",添加构建任务"phoenix-sample-ci"。

⑥在"构建阶段"后添加并编辑"测试阶段"

添加任务“接口测试”并选择“迭代 4”

新建接口自动化测试套件

⑦在“部署发布”阶段添加任务

⑧流水线任务阶段设置完成后点击"保存并执行",启动流水线。当出现以下页面时,表示 任务执行成功。

创建实现代码变更自动触发持续交付流水线任务,完成应用的自动化构建部署。

3.4.2更新流水线配置,实现代码变更触发的持续交付流水线

找到流水线任务"phoenix-sample-pipeline",单击此任务对应操作列中的图标 ,进 入"流水线配置"页面。 点击"执行计划"页签,打开“代码提交时触发”,单击"保存"。

设置完成后,当所选分支有代码变更提交时,将自动触发该任务。

3.4.3流水线配置高级功能

在阶段"部署"下,单击"添加任务"。在右侧滑框中,选择类型"流水线控制",勾选"人工审核",并在"审核人"下拉列表中勾选所需的审核人。

将“人工审核”拖动到“Deploy部署”前

启动流水线,当执行到"人工审核"时,页面中将弹框提示任务需审核。

审核人进入流水线任务"phoenix-sample-pipeline"的详情页。单击"批准",流水线将自动继续执行。单击"驳回",流水线将中止执行。

3.5资源释放

为了避免不必要的费用,如果您在项目课程实践完成后,无需再使用这些资源,建议您参考以 下操作释放弹性云服务器资源。

①返回 ESC控制台,选择云主机,然后点击"更多"→"删除"。

②在弹出的对话框中勾选"释放云服务器绑定的弹性公网 IP 地址"和"删除云服务器挂载 的数据盘",然后点击"是",删除云主机,释放 ECS 资源。

③回到 CloudIDE 服务,删除 IDE 实列

这篇关于华为云凤凰商城项目实践实验三——持续部署与发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/558808

相关文章

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华