华为云CodeArts

一、软件开发生产线使用流程

1.1 前提条件

  1. 拥有已实名认证的帐号。若没有,请先注册帐号并完成实名认证
  2. 购买软件开发生产线
  3. 若需要向主机中部署应用,则需要准备一台具有弹性IP的主机,可以使用已有主机,也可以购买华为云弹性云服务器

我这里没有免费ESC的体验资格,所以就购买了一个按需计费的

配置分类配置项配置建议
基础配置计费模式选择“按需计费”
CPU架构选择“x86计算”
规格选择“通用计算型”、2核4G或以上规格
镜像选择“公共镜像 > CentOS > CentOS 7.6 64bit(40GB)”
网络配置弹性公网IP选择“现在购买”
公网带宽选择“按宽带计费”
高级配置登录凭证选择“密码”
密码输入自定义密码

image-20230630160417714

image-20230630160836924

image-20230630161021376

1.2 配置项目

需求管理服务是使用软件开发生产线各服务的基础,首先需要创建项目、添加项目成员,然后可以根据项目规划添加工作项

1.创建项目。

登录软件开发生产线,单击“新建项目”。

image-20230630162402124

选择项目类型,输入项目名称,单击“确定”。

image-20230630162421014

2.添加项目成员

  • 进入已创建的项目,单击导航栏“设置 > 通用设置 > 成员管理”。
  • 在页面右上角选择“添加成员”,或者“通过链接邀请”。
  • 其中,添加成员的方式有从本企业用户添加、从其他项目导入用户、邀请其他企业用户,请根据实际情况选择。

image-20230630162510315

3.创建工作项

  • 进入已创建的项目,单击导航栏“工作”,选择“工作项”页签。
  • 单击“新建”,选择工作项类型,根据实际情况输入工作项标题、优先级、处理人等信息。

1.3 配置代码仓库

1.安装并配置Git客户端。(如果已经有了,请省略)

通过Git官网下载安装包,并使用默认配置安装Git客户端到本地电脑。

  • 运行Git Bash,Git Bash中输入以下命令行配置用户名和邮箱。

git config --global user.name "您的名字" git config --global user.email "您的邮箱"

  • 输入以下命令行,生成一对SSH密钥。生成的密钥通常保存在“~/.ssh/id_rsa.pub”中。

ssh-keygen -t rsa -C "您的邮箱"

  • 输入以下命令可显示密钥内容。
cat ~/.ssh/id_rsa.pub

2.创建代码仓库

  • 进入已创建的项目,单击导航栏“代码 > 代码托管”
  • 根据需要选择普通新建、按模板新建或导入外部仓库,按照页面提示输入仓库名称等基本信息,单击“确定”
  • 代码仓库创建成功后,在仓库里列表页面单击仓库名称,可查看仓库内的文件。

3.克隆/推送代码

  • 单击页面右上角用户名,在下拉列表中选择“个人设置”。

  • 单击导航“代码托管 > SSH密钥管理”。

  • 单击“添加SSH密钥”,输入标题,将负责安装并配置Git客户端中生成的密钥粘贴到文本框中,勾选同意声明,单击“确定”。

  • 返回代码托管服务页面,单击待克隆的仓库名称,进入仓库。

  • 单击“克隆/下载”,复制仓库SSH下载链接。

  • 运行Git Bash,输入以下命令行,克隆云端仓库到本地。

    git clone 您仓库的SSH下载链接

  • 在本地完成代码的编辑后,在Git Bash中依次输入以下命令行,保存代码并推送到代码仓库。

    git add . git commit -m "您对本次提交备注的信息" git push origin master

  • 返回代码仓库,即可查看更新后的文件。

1.4配置流水线

软件开发生产线使用流程_软件开发生产线 CodeArts_快速入门_华为云 (huaweicloud.com)

二、使用软件开发生产线快速搭建项目(ECS篇)

2.1 准备工作

  1. 拥有已实名认证的帐号。若没有,请先注册帐号并完成实名认证
  2. 购买软件开发生产线
  3. 购买弹性云服务器,购买时的必要配置可参考下表,表中未列出的配置可根据实际情况选择。完成购买后,参考配置安全组规则添加端口22及8080的入方向规则。

配置安全规则

image-20230630164029128

image-20230630164044649

image-20230630164111459

image-20230630164134014

源地址需要改成 IP地址 不然后面访问不成这个端口

image-20230630172322604

2.2 新建项目

项目是使用软件开发生产线各服务的基础,创建项目后才能完成后续操作

  1. 登录软件开发生产线,单击“新建项目”
  2. 选择“Scrum”,输入项目名称“Demo”,单击“确定”

2.3 新建代码仓库

代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库

1.单击导航栏“代码 > 代码托管”,进入代码托管服务

2.单击页面“普通新建”旁边的img,选择“按模板新建”

image-20230630164419415

3.选择模板“Java Web Demo”,单击“下一步”

image-20230630164502762

4.输入代码仓库名称“Web-Demo”,单击“确定”

image-20230630164524378

2.4检查代码

通过代码检查服务,可以对代码进行静态检查,管控代码质量

1.单击导航栏“代码 > 代码检查”,进入代码检查。页面中显示自动创建的任务“Web-Demo-codecheck”。

2.单击任务所在行的“立即执行”启动任务

image-20230630164619157

3.当页面中显示img时,表示任务执行成功。单击任务名称,进入任务的“概览”页面查看检查结果

若任务执行失败,请参考代码检查常见问题排查处理

2.5 构建并归档软件包

通过编译构建服务,可将软件的源代码编译成目标文件,并把配置文件和资源文件等打包并归档到软件发布库中

1.单击导航栏“持续交付 > 编译构建”,进入编译构建服务。页面中显示自动创建的任务“Web-Demo-cloudbuild”

2.单击任务所在行的img启动任务。若出现弹窗,请确认参数设置准确后,单击“确定”

image-20230630165010082

3.当页面中显示img时,表示任务执行成功。单击任务名称,进入构建历史页面,在列表中找到最新一次构建的构建编号,记录该编号。若构建失败,请参考编译构建常见问题排查处理

image-20230630165246919

image-20230630165303473

4.单击导航栏“制品仓库 > 软件发布库”,进入软件发布库。在与项目名称同名的仓库中,依次进入与构建任务同名的文件夹、与构建编号同名的文件夹,即可找到生成的软件包“demoapp.jar”

image-20230630165404465

2.6 部署构建包

通过部署服务,可将软件发布库中的软件包部署到虚拟机,并启动运行

1.配置目标主机

  • 单击导航栏“设置 > 通用设置 > 基础资源管理”

image-20230630165604451

  • 单击“新建主机集群”,输入集群名称“hosts”、选择操作系统“Linux”、关闭**“使用代理机接入”**开关,单击“保存”

image-20230630165642273

  • 单击“新增目标主机”,在弹框中配置以下信息,勾选同意声明后,单击“添加”
配置项配置建议
主机名输入自定义主机名称。为了方便辨认,可与在准备工作中购买的ECS的名称保持一致。
IP输入在准备工作中购买的ECS的IP。
用户名输入“root”。
密码输入在准备工作中购买的ECS时设置的密码。
ssh端口输入“22”。
  • 页面显示一条主机记录,当“连通性验证”列的值显示为“成功”,表示主机添加完成。若主机添加失败,请参考部署-常见问题-主机管理排查。

image-20230630165945513

2.单击导航栏“持续交付 > 部署”,进入部署服务。页面中显示自动创建的应用“Web-Demo-deploy”

3.单击img,在下列表中选择“编辑”,进入编辑页面。

image-20230630170129449

4.选择“环境管理”页签,配置主机环境。

image-20230630170247299

  • 单击“新建环境”,输入环境名称“host-group”、选择资源类型“主机”、操作系统“Linux”,单击“保存”。
  • 列表中新增一条环境记录,单击环境名称,在滑出的窗口中选择“资源列表”页签。
  • 单击“导入主机”,在弹框中的下拉列表中选择创建的主机集群,并在列表中勾选主机,单击“导入”。
  • 页面提示导入成功,关闭此窗口。

image-20230630170431052

5.选择“参数设置”页签,参考下表配置参数。

参数名参数值
host_group选择之前添加的环境名称“host-group”。
package_url无需此参数,单击对应行img删除。
service_port输入“8080”。
package_name输入“demoapp”。

image-20230630170606085

6.选择“部署步骤”页签,配置部署步骤

  • 停止SpringBoot服务:首次执行时,由于目标主机上还未有服务,执行该步骤会失败,因此不勾选“启用”选项。

image-20230630171102278

  • 安装JDK:修改jdk版本为“openjdk-1.8.0”。
  • 选择部署来源:参考下表进行配置。
配置项
选择源类型选择“构建任务”。
请选择构建任务选择“Web-Demo-cloudbuild”。
下载到主机的部署目录输入“/usr/local/${package_name}/”。

image-20230630171233086

  • URL健康测试:此步骤可有可无,根据需要选择是否启用(本文不勾选“启用”选项)。

7.单击“保存并部署”。

若出现弹窗,请确认参数设置准确后,单击“确定”。待页面显示img。若部署失败,请参照部署常见问题排查

image-20230630171429595

8.查看部署结果

打开一个新的浏览器页面,输入访问地址“http://IP:8080/test”,其中“IP”为准备工作中购买的ECS的IP

若出现以下访问结果,表示部署成功

image-20230630172835329

2.7 配置流水线

通过流水线可以将代码检查、编译构建、部署等任务串联起来,当代码发生改变时,自动触发流水线执行,实现持续交付

1.单击导航栏“持续交付 > 流水线”,进入流水线服务。在“流水线”页面中显示自动创建的流水线“Web-Demo-pipeline”

2.单击img,在下拉列表中选择“编辑”。

3.选择“任务编排”页签,配置流水线。

  • 本文暂不涉及接口测试,因此需要将接口测试任务从流水线中移除。单击任务“apitest”对应img,在弹框中单击“确定”

image-20230630173502800

  • 单击任务“deploy”,关联构建任务选择“cloudbuild”,其它配置项的值与2.6部署构建包中的参数设置保持一致

image-20230630173547412

4.选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”

image-20230630173719977

5.单击“保存”,退出编辑

6.进入部署服务,编辑部署步骤,在“停止SpringBoot服务”中勾选“启用”

image-20230630173800715

7.进入代码仓库,搜索并打开文件“TestController.java”。单击img,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。

image-20230630173958823

image-20230630174059782

8.返回流水线页面,可看到流水线正在运行中。当页面显示img时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容

image-20230630184255341

2.8 释放资源

  1. 删除项目。
    • 进入项目“设置 > 通用设置 > 基本信息”页面。
    • 单击“删除项目”,在弹框中输入项目名称,单击“删除”。
  2. 删除ECS。
    • 登录弹性云服务器控制台。在列表中找到待删除的ECS,单击“更多”,在下拉列表中选择“删除”。
    • 勾选弹框中的所有选项,单击“是”。

三、使用软件开发生产线快速搭建项目(CCE篇)

3.1 准备工作

1.拥有已实名认证的帐号。若没有,请先注册华为帐号并开通华为云并完成实名认证

2.已购买软件开发生产线

3.已购买CCE集群,购买时的必要配置请参考下表,表中未列出的配置保持默认即可

集群购买

配置分类配置项配置建议
基础配置计费模式选择“按需计费”。
集群版本建议选择最新版本。
网络配置网络模型选择“VPC网络”。
容器网段勾选“自动设置网段”。

集群创建时间稍微有一些长,大概5分钟左右

节点配置

单击创建的集群,进入集群控制台。在左侧菜单栏选择节点管理,单击右上角“创建节点”,在弹出的页面中配置节点的参数。

配置分类配置项配置建议
计算配置计费模式选择“按需计费”。
节点类型选择“弹性云服务器-虚拟机”。
节点规格选择2核8G及以上规格即可。
容器引擎选择“Docker”。
操作系统选择“公共镜像 > CentOS 7.6”
登录方式选择“密码”。
密码输入自定义密码。
网络配置节点IP选择“随机分配”。
弹性公网IP选择“暂不使用”。

4.已在容器镜像服务中创建组织,本文中创建的组织名称为“web-demo”(这里需要自己随便取一个,我取的是yh-demo)

  • 登录容器镜像服务控制台
  • 单击控制台左上角的img,选择区域和项目。
  • 在左侧导航栏单击“组织管理”,进入组织管理页面。
  • 单击页面右上角的“创建组织”按钮,在弹框中填写“组织名称”,然后单击“确定”

3.2 新建项目

项目是使用软件开发生产线各服务的基础,创建项目后才能完成后续操作

  1. 登录软件开发生产线,单击“新建项目”
  2. 选择“Scrum”,输入项目名称“Demo”,单击“确定”

3.3 新建代码仓库

代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库。

  1. 单击导航栏“代码 > 代码托管”,进入代码托管服务
  2. 单击页面“普通新建”旁边的img,选择“按模板新建”
    img
  3. 选择模板“Java Web Demo”,单击“下一步”
  4. 输入代码仓库名称“Web-Demo”,单击“确定”

3.4 准备Dockerfile

Dockerfile是用于构建镜像的文本文件,其中包含了构建镜像所需的指令和说明。了解Dockerfile更详细说明,请参见Docker官网

  1. 单击仓库名称,进入代码仓库

  2. 单击文件列表上方“新建”,在下拉列表中选择“新建文件”
    img

  3. 输入文件名Dockerfile,文件详情输入以下命令行

    FROM openjdk:8-alpine
    ADD target /demo
    COPY ./target/demoapp.jar /demo
    CMD ["java","-jar","/demo/demoapp.jar"]
    
  4. 输入备注信息,单击“确定”

3.5 构建并推送镜像

通过编译构建任务将软件的源代码编译成镜像,并把镜像推送归档到容器镜像服务(SWR)中

  1. 单击导航栏“持续交付 > 编译构建”,进入编译构建服务。

  2. 单击“新建任务”,配置任务信息。

    • 基本信息:配置以下信息,单击“下一步”

      配置项配置建议
      任务名称输入自定义名称(本文中为“Web-Demo-docker”)。
      源码源选择“Repo”。
      源码仓库选择“Web-Demo”。
      分支选择“master”。
    • 构建模板:选择“空白构建模板”,单击“下一步”。

  3. 配置构建步骤。

    • 单击“点击添加构建步骤”,在步骤列表中找到“Maven构建”,单击“添加”。

    image-20230701140220916

    • 单击“添加步骤”,在步骤列表中找到“制作镜像并推送到SWR仓库”,单击“添加”。

    image-20230701140257267

    • 参照下表配置步骤“制作镜像并推送到SWR仓库”(表中未涉及的字段保持默认配置即可)。

      配置项配置建议
      组织输入在准备工作中创建的组织名称“web-demo”(我的是yh-demo)。
      镜像标签v1.0.0
  4. 完成配置,单击“新建并执行”。当页面中显示img时,表示任务执行成功。若构建失败,请参考编译构建常见问题排查处理

  5. 登录容器镜像服务控制台,在页面左侧导航栏中选择“我的镜像”。页面中有一条镜像名称为“demo”,所属组织为“web-demo”的记录。单击镜像名称查看详情,镜像版本为“v1.0.0”。

image-20230701143951984

3.6 创建负载

在云容器引擎(CCE)中创建无状态负载(Deployment),用于加载运行demo镜像

  1. 登录云容器引擎控制台,单击在准备工作中购买的集群,进入详情页

  2. 在页面左侧导航选择“工作负载”,单击“创建负载”,参考下表完成配置,单击“创建工作负载”。

    配置分类配置项配置建议
    基本信息负载类型选择“无状态负载”。
    负载名称自定义,本文中为“web-demo”。
    实例数量选择“1”。
    容器配置镜像名称单击“选择镜像”,在弹框中勾选“demo”,单击“确定”。
    更新策略勾选“总是拉取镜像”。
    镜像版本选择“v1.0.0”。
    高级配置升级策略升级方式选择“替换升级”。

image-20230701144634577

image-20230701144648328

  1. 页面提示创建成功,单击“查看工作负载详情”,返回负载详情页面,实例列表中显示一条记录。

    当该记录的状态为“运行中”时,选择“访问方式”页签,单击“创建”,参考下表完成创建服务配置,单击“确定”若实例状态异常,请参考工作负载异常排查处理

    配置项配置建议
    Service名称自定义,本文中为“web-demo”。
    访问类型选择“负载均衡”。
    服务亲和选择“集群级别”。
    负载均衡器选择“共享型 > 自动创建”,自定义实例名称(本文中为“web-demo-test”),勾选已阅读须知。
    端口配置协议:TCP 容器端口:8080 服务端口:8080
  2. 列表中显示一条记录,当服务名称出显示为img时,将鼠标悬浮在访问类型下的负载均衡器名称处,在弹窗中复制公网地址。

    image-20230701145133718

  3. 打开新的浏览器页面,输入“http://IP:8080/test”,其中IP为上一步中复制的公网地址。

    若出现以下访问结果,表示镜像部署并运行成功。
    image-20230701145210760

3.7 部署镜像

通过在部署服务中创建应用,将镜像部署自动化。

  1. 返回软件开发生产线页面,单击导航栏“持续交付 > 部署”,进入部署服务。单击“新建应用”,输入应用名称(本文中为“web-demo-k8s”),单击“下一步”

  2. 选择“空白模板”,单击“确定”

  3. 在步骤列表中搜索并添加步骤“Kubernetes快速部署(CCE集群)”,参考下表完成步骤配置

    image-20230701145803497

    配置项配置建议
    区域选择集群所在的区域。
    集群名称选择准备工作中购买的集群名称。
    命名空间名称本文中选择“default”。
    工作负载名称选择“web-demo”。
    容器名称选择创建负载时,容器配置部分的容器名称。
  4. 单击“保存并部署”。当页面显示img时,表示测试通过。若部署失败,请参照部署常见问题排查

3.8 配置流水线实现自动化更新镜像部署

通过配置流水线,将代码仓库、构建、部署串联起来,当代码仓库中发生代码提交动作时,可以自动触发流水线的执行,实现持续交付

  1. 单击导航栏“持续交付 > 流水线”,进入流水线服务

  2. 单击“新建流水线”,配置流水线

    • 基本信息:配置以下信息,单击“下一步”

      配置项配置建议
      名称输入“pipeline-web-demo”。
      流水线源选择“Repo”。
      代码库名称选择“Web-Demo”。
      默认分支选择“master”。
    • 模板:选择“空模板”,单击“确定”。

  3. 配置工作流。

    • 单击“阶段_1”后的img,在“编辑阶段”窗口中输入阶段名称“构建”,单击“确定”
      点击放大

    • 单击“新建任务”在“新建任务”窗口中,单击“Build构建”插件后的“添加”。

      image-20230701150348882

    • 参考下表配置任务信息,单击“确定”

      配置项配置建议
      名称输入自定义名称(本文中保持默认值)。
      请选择需要调用的任务选择“Web-Demo-docker”。
      仓库选择“Web-Demo”。
    • 单击“新建阶段”,并修改阶段名称为“部署”。

    • 单击“新建任务”,添加插件“Deploy部署”。

    • 选择调用任务“web-demo-k8s”、关联构建任务选择之前设置的任务名称。

    image-20230701150816794

  4. 选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”,单击“保存”。

    image-20230701150839774

  5. 进入代码仓库,搜索并打开文件“TestController.java”。

    单击img,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。
    点击放大

  6. 返回流水线页面,可看到流水线正在运行中。当页面显示img时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容。若任务执行失败,请于执行失败处检查失败原因,或参照流水线常见问题排查处理。

image-20230701151144391

3.9 释放资源

  1. 删除项目。
    • 进入项目“设置 > 通用设置 > 基本信息”页面。
    • 单击“删除项目”,在弹框中输入项目名称,单击“删除”。
  2. 删除组织与镜像。
    • 登录容器镜像服务控制台
    • 在“我的镜像”页面中,勾选本文中创建的镜像,单击“删除”。在弹框中单击“确定”。
    • 在“组织管理”页面中,单击待删除组织的名称,进入详情页。单击“删除”,在弹框中单击“确定”。
  3. 删除集群。
    • 登录云容器引擎控制台。在列表中找到待删除的集群,单击img
    • 勾选弹框中的所有选项,单击“是”。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值