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

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

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可