DevCloud实践体验操作流程5-构建应用

举报
gentle_zhou 发表于 2022/11/05 19:50:54 2022/11/05
【摘要】 本文内容关于:构建应用-预置编译构建任务简介、配置SWR服务、配置并执行编译构建任务、设置提交代码触发自动编译 以及 设置定时执行编译构建任务。

上一篇内容DevCloud实践体验操作流程4-代码检查为大家介绍了代码检查-预置代码检查任务简介、配置并执行代码检查任务、查看代码检查结果 以及 代码检查插件。
本文内容关于:构建应用-预置编译构建任务简介、配置SWR服务、配置并执行编译构建任务、设置提交代码触发自动编译 以及 设置定时执行编译构建任务。

  1. 编译构建(CloudBuild)基于云端大规模并发加速,提供配置简单的混合语言构建平台,为客户提供高速、低成本、配置简单的混合语言构建能力,帮助客户缩短构建时间,实现获取代码、构建、打包等活动自动化,提升构建效率。概览链接:https://www.huaweicloud.cn/product/cloudbuild.html

5、构建应用

通过本文,我们将了解开发人员Oliver如何使用编译构建服务构建环境镜像、将代码编译打包成软件包,以及通过代码变更触发自动构建来实现持续集成。

预置编译构建任务简介

凤凰商城样例项目中预置了5个编译构建任务:
image.png

分别代表:

  1. phoenix-sample-ci:基本的编译构建任务
  2. phoenix-sample-ci-test:测试环境对应的编译构建任务
  3. phoenix-sample-ci-worker:Worker功能对应的编译构建任务
  4. phoenix-sample-ci-result:Result功能对应的编译构建任务
  5. phoenix-sample-ci-vote:Vote功能对应的编译构建任务

本文以任务“phoenix-sample-ci”为例进行讲解,包含的步骤如下所示:

  1. 制作Vote镜像并推送到SWR仓库
  2. 制作Result镜像并推送到SWR仓库
  3. 使用Maven安装Worker依赖包
  4. 制作Worker镜像并推送到SWR仓库
  5. 生成Postgres and Redis Dockerfile
  6. 制作Postgres镜像并推送到SWR仓库
  7. 制作Redis镜像并推送到SWR仓库
  8. 替换Docker-Compose部署文件镜像版本
  9. 替换Kubernetes部署文件镜像版本
  10. 上传Kubernetes部署文件到软件发布库
  11. 上传docker-compose部署文件到软件发布库

配置SWR服务

因为本文使用容器镜像服务SWR来保存环境镜像,所以首先需要配置好SWR服务。
第一步,登录容器镜像服务控制台
image.png

第二步,单击页面右上角的“登录指令”,页面弹框显示登录指令(此处生成的登录指令为临时登录指令,有效期为24小时):
image.png
其中-u之后的字符串为用户名;-p之后的字符串为密码;最后的字符串为SWR服务器地址,此地址即为后续配置编译构建任务中的参数“dockerServer”;记住这些信息:
image.png

第三步,单击页面右上角的“创建组织”:
image.png

在弹框中输入组织名称“phoenix-XXX-XXX”(此名称全局唯一,填“phoenix”页面会提示“组织已存在”,需要我们自定义其它名称),单击“确定”保存(这里的组织名称,即为后续配置编译构建任务中的参数“dockerOrg”):
image.png

配置并执行编译构建任务

接下来开始配置编译构建任务。进入“凤凰商城”项目,单击导航“构建&制品 > 编译构建”,在列表中找到任务“phoenix-sample-ci”:
image.png

单击任务右边的三个点“更多”图标,在下拉列表中单击“编辑”进入编辑页面;选择“参数设置”页签,编辑参数值:
image.png

image.png

单击页面右上角的“保存”,完成编译构建任务的编辑;页面会自动跳转至任务详情页。

接着开始执行编译构建任务。单击“phoenix-sample-ci”任务一栏的“开始构建”,启动编译构建任务,页面自动跳转到“步骤日志”界面。当页面中显示绿色√之时,表示任务执行成功。这时候我们需要记录“构建编号”对应的数字串(在后续检查发布件查看镜像详情中,镜像版本即此数字串):
image.png

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

然后,我们需要去检查发布件。单击页面侧边导航栏里的“构建&制品 > 制品仓库”,进入软件发布库服务,在服务列表中可找到如下图所示的两个文件夹:
image.png

进入容器镜像服务控制台,在页面左侧导航选择“我的镜像”,列表中可看到新增的5个镜像(redis、postgres、worker、result、vote),镜像的所属组织为配置SWR服务中创建的组织:
image.png

在列表中单击“vote”查看镜像详情;在页面下方“镜像版本”页签中找到最新版本镜像,镜像版本与最新一次构建任务的构建编号一致:
image.png

设置提交代码触发自动编译

本小节的作用在于可实现代码变更后自动触发应用编译构建任务的执行,从而实现项目的持续集成。

在编译构建任务“phoenix-sample-ci”的详情页,单击页面右上角“编辑任务”;选择“执行计划”页签,页面默认显示“持续集成”页面:
image.png

打开“提交代码触发执行”开关,单击“保存”:
image.png

由于在参数设置页面,参数codeBranch配置的默认值为“master”,因此本次设置的结果是当master有代码变更时自动触发构建。如何验证配置结果是否应用上了呢?我们可以让开发人员Oliver修改项目代码并提交至master,即可查看编译构建任务是否自动执行。

设置定时执行编译构建任务

为了防止问题代码进入生产环境,确保应用总是处于可部署的状态,团队建议对应用进行持续不断的验证。

通过以下设置,可实现编译构建任务的定时执行。在编译构建任务“phoenix-sample-ci”的详情页,单击页面右上角“编辑任务”;选择“执行计划”页签,在左侧导航中单击“定时执行”,打开“启用定时执行”开关,根据需要选择执行日与执行时间,单击“保存”:
image.png

验证配置结果的方法很简单,根据配置时间查看编译构建任务是否自动执行了。

参考链接

  1. https://support.huaweicloud.cn/bestpractice-devcloud/devcloud_practice_2006.html#section0
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。