华为云DevOps实践指导手册

发布时间:2023年12月22日
通过华为云DevOps全流程样例项目,帮助开发者快速理解和掌握CodeArts的代码检查、编译构建和部署服务的配置步骤。

实验操作后台:开发者云实验_云实验KooLabs_在线实验_上云实践_云计算实验_AI实验_华为云官方实验平台-华为云

1 准备环境

1.1 预置环境

注意:开始实验之前请点击手册上方“预置实验环境”按钮。

预置实验环境需要等待【1-2分钟】后预置成功。环境预置会生成虚拟私有云 VPC(vpc-phoenix)和安全组(sg-phoenix),用于后续购买ECS时使用。

1.2 登陆华为云

进入【实验操作桌面】,打开Chrome浏览器,首次可自动登录并进入华为云控制台页面。

【实验操作桌面】是什么?

如后续关闭浏览器重新登录或自动登录失败,可按如此步骤登录:选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云,如下图所示:

注意:账号信息详见实验手册上方,点击后面的图标可以进行复制,切勿使用您自己的华为云账号登录。

1.3 购买弹性云服务器

该步骤将创建并配置一台弹性云服务器ECS,用于后续应用的部署。

1.3.1 进入弹性云服务器页面

什么是弹性云服务器?

进入华为云“控制台”,鼠标移动到页面左侧菜单栏,点击服务列表->“计算" -> "弹性云服务器ECS”,如下图所示:

1.3.2 创建弹性云服务器

在云服务器控制台页面,点击右上角“购买弹性云服务器”

配置参数如下:

① 区域:华北-北京四

② 计费模式:按需计费

③ 可用区:默认

④ CPU架构:X86计算

⑤ 规格:通用计算增强型,c6.large.2| 2vCPUs | 4GiB

⑥ 镜像:公共镜像,镜像类型:CentOS,镜像版本:CentOS 7.6 64bit(40GB)

⑦ 安全防护:免费开启主机安全基础防护

⑧ 系统盘:通用型SSD,40GB

点击“下一步:网络配置”,配置参数如下:

① 网络:选择预置环境步骤预置的虚拟私有云VPC(vpc-phoenix)

② 扩展网卡:默认

③ 安全组:选择预置环境步骤预置的安全组(sg- phoenix)

④ 弹性公网IP:现在购买

⑤ 线路:全动态BGP

⑥ 公网带宽:按带宽

⑦ 带宽大小:1Mbits/s

⑧ 释放行为:随实例释放

点击“下一步:高级配置”,参数如下:

① 云服务器名称:自定义(如:ecs-phoenix)

② 登录凭证:密码

③ 用户名:root

④ 密码:按照密码规则自定义(如:Huawei@1234),后面步骤2.4.1添加主机需要使用,请记住此密码

⑤ 云备份:暂不购买

⑥ 其他:默认

点击“下一步:确认配置”,配置如下:

① 购买数量:1

② 勾选“我已经阅读并同意《镜像免责声明》”

点击“立即购买” -> “返回云服务器列表”。购买成功,云服务器列表如下图所示:

注意:如果点击“立即购买”时,如果提示选择“必选企业项目”,选择“default”即可。

2 搭建DevOps项目?

2.1 新建项目

在华为云“控制台”,点击服务列表,在展开的服务列表上鼠标下滑,找到“开发与运维”,点击“软件开发生产线 CodeArts ”,进入CodeArts 服务的控制台页面。

点击“立即使用”按钮(若无此按钮请先操作步骤2.1.1操作,开通CodeArts服务),进入CodeArts服务。

2.1.1 开通CodeArts服务

(若已开通请跳过此步骤)

在CodeArts控制台,左侧菜单栏切换到“总览”,选择点击CodeArts“基础版”的“免费开通”按钮。

① 区域:选择“华北-北京四”

② 勾选“我已经阅读并同意 《软件开发服务使用声明》”

③ 其他保持默认

点击“下一步”按钮

确认产品规格,点击“去支付”按钮。

点击“确认付款”按钮,完成开通。

开通完成后,按步骤2.1.2进行创建项目操作。

2.1.2 创建DevOps全流程样例项目

在项目创建页面,下滑页面,点击示例项目中的“DevOps全流程样例项目”的模板,

参数如下:

① 项目设置模板:DevOps全流程样例项目

② 项目名称:自定义(如:凤凰商城)用此名字可以复制

③ 项目代码:自定义(如:001)

④ 项目描述:自定义

点击“确定”按钮。

注意:若不能创建项目,请先按步骤2.1.3操作,设置创建项目者。

2.1.3 设置创建项目者

(若可创建项目,请跳过此步)

若显示”权限不足“,不能创建项目,则按如下进行操作设置。

点击右上角用户头像,在下拉菜单中选择点击“租户设置”。

在左侧菜单栏选择“需求管理”—“设置项目创建者”,确认勾选“设置所有成员都可以创建项目”,后点击“首页”返回CodeArts首页,即可进行创建项目操作。

2.2 外观设置

CodeArts服务在外观提供了多种主题和布局,不同主题和布局下界面上的菜单和按钮有所差异,本实验手册都是基于“无限”主题和“经典”布局,开始操作前,请先确认当前所选布局和手册的布局相同。查看方法如下:

①鼠标放在用户名上面,变成“...”后单击鼠标左键,在弹出的菜单中单击“外观设置:主题、布局”

②在打开的外观设置窗口,确认当前主题为“无限”,布局为“经典”,如果不是这两项,则设置为此选项。

2.3 代码检查

2.3.1 执行代码检查

因当前选择的为模板项目,所以项目创建完成后,代码已经放置在“代码托管”中,单击导航“代码>代码托管”进入代码托管页面。

单击代码仓名称,进入到代码详细信息展示页。

在当前页面可以对项目代码进行合并、评审、查看动态等操作。

接下来进行代码检查。在“凤凰商城”项目,单击导航“代码 > 代码检查”。

如果此处遇到了服务开通提示,就选择基础版的免费开通,后面步骤可以参考步骤2.1.1 开通CodeArts服务,如下图所示。开通成功后,刷新下页面。否则忽略此步骤。

在代码检查任务界面显示样例项目自动创建的4个代码检查任务。在列表中找到任务“phoenix-codecheck-worker”,单击“立即执行”,执行代码检查。

点击任务名称,可以看到代码检查进度。检查大概需要5-10分钟完成。

等待检查任务的结束。在代码检查详情页面,当前扫出了10个代码问题。点击“未解决新问题数”进入代码问题页。

代码问题详情界面,列出了问题级别、状态、检测时间和所属文件等信息。每个问题标注了问题等级,可以设置问题解决状态、分配给相应负责人,并给出问题帮助建议可以参考,同时可以查看当前代码段的上下文,创建问题单。

2.3.2 设置代码检查任务规则集

项目中的每个代码检查任务都可以重新进行规则集配置。单击导航中的“代码检查”,返回代码检查页面,单击“phoenix-codecheck-worker ”进入详情界面。

在“设置”页签,单击导航“规则集”,规则集中已包含的语言是“Java”,后面给出的Java语言检查规则集中,当前使用的是“通用检查规则集”,在列表中找到“关键检查规则集”,单击选中然后在弹出的页面中点击“确定“,这样就可以重新设定检查任务的规则集。

上面我们是选定系统自带的规则集,同样可以自定义规则集。

2.3.3 配置自定义检查规则集

单击“代码>代码检查”回到服务首页,单击“规则集”。

在规则集页面,在搜索框单击选择过滤项为“语言”,再次单击在出现的下拉列表中选择具体的语言,本项目开发所用语言为Java,因此我们选择“Java”。

在给出的Java规则集列表中,找到“关键检查规则集”点击后面的复制按钮,在弹出的对话框中,输入自定义的规则集名称(如:phoenix-java-rule-set),下面的检查语言和复制源信息不可修改。单击“确定”完成复制。

在已启用的规则里已经包含了所有的Java关键规则。

可按照项目实际情况选择是否应用哪些规则。例如:搜索特定规则“Disabling Spring Security's CSRF protection is security-sensitive”,并关闭此规则。修改完成后保存。(仅供参考)

规则集设定完成后,就可以按照步骤【2.2.2 设置代码检查任务规则集】将其设定为某一项代码检查任务遵循的规则集。

2.4 编译构建

本项目使用容器镜像服务SWR来保存环境镜像,需要首先配置SWR服务。

2.4.1 配置SWR服务

切换Chrome浏览器进入华为云“控制台”,鼠标移动到页面左侧菜单栏,点击服务列表->搜索“SWR”->选择“容器镜像服务 SWR”,进入“容器镜像服务”控制台,如下图所示。

什么是容器镜像服务 SWR?

如遇“授权说明”弹框,点击“确定”按钮即可(没有则忽略此步骤)。

单击左上角的“创建组织”。

在弹框中输入任意组织名称,例如“phoenix-hub01”(此名称全局唯一,若页面提示“组织已存在”,请使用其它名称如phoenix-hub02),单击“确定”保存。

此处的组织名称将成为后续编译构建任务中参数“dockerOrg”的配置信息。

2.4.2 获取SWR登录指令

点击左侧导航栏“总览”,单击“登录指令”,系统生成并弹框显示docker login指令。

最后的字符串为SWR服务器地址,如:swr.cn-north-4.myhuaweicloud.com,此地址后续将成为构建任务中参数“dockerServer”的配置信息。

2.4.3 执行编译构建任务

切换Chrome浏览器页签,返回“凤凰商城”项目,单击导航“持续交付 > 编译构建”。在列表中找到任务“phoenix-sample-ci”,点击任务后方操作列中的图标,在下拉列表中单击“编辑”进入编辑页面。

选择“参数设置”页签,在“默认值列”填入先前记录的各参数信息。

本案例参数如下:

① codeBranch:master

② dockerOrg:输入在步骤2.3.1配置SWR服务中创建的组织名称

③ dockerServer:输入在配置SWR服务中记录的SWR服务器地址(swr.cn-north-4.myhuaweicloud.com)下图仅为参考,按照实验操作中设置为准。

请务必确保参数“dockerOrg”、“dockerServer”的输入值是正确的,否则将导致任务失败。

点击页面右上角“保存并执行”按钮,点击“执行参数”弹框中的“确定”按钮,开始执行编译构建任务。如果构建过程中出现某一步骤10分钟以上还没有完成或者构建失败,可以“停止构建”,然后重新点击“开始构建” 。

初次执行时构建时间较长,后续一般执行时长约为4-6分钟。

待任务执行完成,如下图所示,表示任务执行成功。“构建编号”对应的数字串,为后续发布的镜像版本号。

若构建失败,请仔细检查参数“dockerOrg”、“dockerServer”的设置是否正确。

2.5 部署

什么是部署 CodeArts Deploy?
2.5.1 创建主机集群

单击导航“设置” > “通用设置”>“基础资源管理”,单击“新建主机集群”。

在“基本信息”页面,按如下进行配置创建主机集群:

① 集群名称:Phoenix-Mall-Cluster

② 操作系统:Linux

③ 使用代理机接入:关闭

④ 点击“保存”按钮

如下图所示:

在“目标主机”页面,点击“导入ECS”。

列表中可以看到在步骤1.3中购买的弹性云服务器,单击后面的的“导入”按钮。

自动导入主机信息,按如下信息配置主机授信信息:

① 用户名:root,

② 密码:购买ECS时设置的密码(如:Huawei@1234),

③ ssh端口:22,

④ 勾选“免费启用应用运维服务”,

⑤ 勾选“我已阅读并同意《隐私政策声明》”,

⑥ 点击“确定”按钮,

可以看到,ECS是已导入状态,关闭当前弹窗。

稍作等待后连通性验证成功,完成主机集群创建,关闭当前弹窗,如下图所示:

2.5.2 导入主机

部署应用到弹性云服务器ecs-phoenix之前,需要先将其添加到部署任务中,保证部署服务能够访问该弹性云服务器。

单击导航“持续交付 > 部署”,在列表中找到任务“phoenix-sample-standalone”,单击后方“更多”图标,选择“编辑”,进入该部署任务的详情界面。

单击“环境管理”,单击“新建环境”,

在基本信息页面,按如下进行配置创建环境:

① 境名称:phoenix-hostgroup

② 资源类型:主机

③ 操作系统:Linux

④ 点击“保存”按钮

如下图所示:

在“资源列表”页面,单击“导入主机”按钮,

在“导入主机”弹窗中,按如下进行配置导入主机:

① 主机集群:选择“Phoenix-Mall-Cluster”

② 勾选下方的ECS

③ 点击“导入”按钮

如下图所示:

可以看到ECS已经导入到环境中,关闭当前弹窗,如下图所示:

2.5.3 设置参数

单击“参数设置”,进入“参数设置”页签,

根据容器镜像服务登录指令填写参数。

参考步骤2.3.2,在SWR控制台单击“登录指令”,系统生成并弹框显示docker login指令。

登录指令中:

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

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

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

复制后配置到部署任务中,如下图所示。

注意:复制粘贴进行参数设置的时候,要仔细检查开头是否包含多余的空格,如果有,会导致部署失败。

2.5.4 配置部署步骤

1) 安装依赖工具

DevOp全流程样例程序的运行需要Docker及Docker-Compose环境,部署软件包前需要将依赖环境安装到主机中。

单击导航“部署步骤”进入到部署配置页面。单击“选择部署来源”上面的“+”,在它的上面添加步骤。

在“添加步骤”中选择“容器类”,单击列表中“安装/卸载Docker”后面的“添加”。

在主机组下拉列表中选择刚刚创建的主机组“phoenix-hostgroup”,弹出的页签中选择“确认”。

鼠标放在“安装/卸载Docker”,单击下面的“+”,在“所有步骤”中搜索”shell“,添加步骤“执行Shell命令”,

在主机组下拉列表中选择刚刚创建的主机组“phoenix-hostgroup”,并在命令框中输入以下命令。

<span style="color:#303133"><span style="background-color:#ffffff">                                <code id="code_11871118">yum install libssl-<span style="color:#de935f">dev</span> libffi-<span style="color:#de935f">dev</span> python-<span style="color:#de935f">dev</span> build-essential libxml2-<span style="color:#de935f">dev</span> libxslt1-<span style="color:#de935f">dev</span> -y
pip3 install six --user -U
pip3 install -i https:<span style="color:#969896">//repo.huaweicloud.com/repository/pypi/simple docker-compose==1.17.1</span></code>
                            </span></span>

依赖工具配置完成。

2)部署软件包

接下来进行软件包的部署。单击“选择部署来源”,配置如下:

① 选择源类型:构建任务

② 主机组:phoenix-hostgroup

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

步骤“解压文件”与“执行shell命令”保持默认配置即可,单击“保存并部署”。

当出现如图所示页面时,表示任务执行成功。

2.5.5 验证部署结果

在控制台服务列表,点击“计算->弹性云服务器ECS”进入华为云弹性云服务器控制台,找到ecs-phoenix并复制其公网IP地址。

打开浏览器,输入“http://IP:5000”,其中IP替换为先前复制的ecs-phoenix的公网IP地址,5000为用户端UI端口,出现以下界面。

打开浏览器,输入“http://IP:5001”, 其中IP替换为先前复制的ecs-phoenix的公网IP地址,5001为管理端UI端口,出现以下界面。

至此,实验完成。

文章来源:https://blog.csdn.net/hwxiaozhi/article/details/135144947
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。