我这里没有免费ESC的体验资格,所以就购买了一个按需计费的
配置分类 | 配置项 | 配置建议 |
---|---|---|
基础配置 | 计费模式 | 选择“按需计费” |
CPU架构 | 选择“x86计算” | |
规格 | 选择“通用计算型”、2核4G或以上规格 | |
镜像 | 选择“公共镜像 > CentOS > CentOS 7.6 64bit(40GB)” | |
网络配置 | 弹性公网IP | 选择“现在购买” |
公网带宽 | 选择“按宽带计费” | |
高级配置 | 登录凭证 | 选择“密码” |
密码 | 输入自定义密码 |
需求管理服务是使用软件开发生产线各服务的基础,首先需要创建项目、添加项目成员,然后可以根据项目规划添加工作项
1.创建项目。
登录软件开发生产线,单击“新建项目”。
选择项目类型,输入项目名称,单击“确定”。
2.添加项目成员
3.创建工作项
1.安装并配置Git客户端。(如果已经有了,请省略)
通过Git官网下载安装包,并使用默认配置安装Git客户端到本地电脑。
git config --global user.name "您的名字" git config --global user.email "您的邮箱"
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
返回代码仓库,即可查看更新后的文件。
软件开发生产线使用流程_软件开发生产线 CodeArts_快速入门_华为云 (huaweicloud.com)
配置安全规则
源地址需要改成 IP地址 不然后面访问不成这个端口
项目是使用软件开发生产线各服务的基础,创建项目后才能完成后续操作
代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库
1.单击导航栏“代码 > 代码托管”,进入代码托管服务
2.单击页面“普通新建”旁边的,选择“按模板新建”
3.选择模板“Java Web Demo”,单击“下一步”
4.输入代码仓库名称“Web-Demo”,单击“确定”
通过代码检查服务,可以对代码进行静态检查,管控代码质量
1.单击导航栏“代码 > 代码检查”,进入代码检查。页面中显示自动创建的任务“Web-Demo-codecheck”。
2.单击任务所在行的“立即执行”启动任务
3.当页面中显示时,表示任务执行成功。单击任务名称,进入任务的“概览”页面查看检查结果
若任务执行失败,请参考代码检查常见问题排查处理
通过编译构建服务,可将软件的源代码编译成目标文件,并把配置文件和资源文件等打包并归档到软件发布库中
1.单击导航栏“持续交付 > 编译构建”,进入编译构建服务。页面中显示自动创建的任务“Web-Demo-cloudbuild”
2.单击任务所在行的启动任务。若出现弹窗,请确认参数设置准确后,单击“确定”
3.当页面中显示时,表示任务执行成功。单击任务名称,进入构建历史页面,在列表中找到最新一次构建的构建编号,记录该编号。若构建失败,请参考编译构建常见问题排查处理
4.单击导航栏“制品仓库 > 软件发布库”,进入软件发布库。在与项目名称同名的仓库中,依次进入与构建任务同名的文件夹、与构建编号同名的文件夹,即可找到生成的软件包“demoapp.jar”
通过部署服务,可将软件发布库中的软件包部署到虚拟机,并启动运行
1.配置目标主机
配置项 | 配置建议 |
---|---|
主机名 | 输入自定义主机名称。为了方便辨认,可与在准备工作中购买的ECS的名称保持一致。 |
IP | 输入在准备工作中购买的ECS的IP。 |
用户名 | 输入“root”。 |
密码 | 输入在准备工作中购买的ECS时设置的密码。 |
ssh端口 | 输入“22”。 |
2.单击导航栏“持续交付 > 部署”,进入部署服务。页面中显示自动创建的应用“Web-Demo-deploy”
3.单击,在下列表中选择“编辑”,进入编辑页面。
4.选择“环境管理”页签,配置主机环境。
5.选择“参数设置”页签,参考下表配置参数。
参数名 | 参数值 |
---|---|
host_group | 选择之前添加的环境名称“host-group”。 |
package_url | 无需此参数,单击对应行删除。 |
service_port | 输入“8080”。 |
package_name | 输入“demoapp”。 |
6.选择“部署步骤”页签,配置部署步骤
配置项 | 值 |
---|---|
选择源类型 | 选择“构建任务”。 |
请选择构建任务 | 选择“Web-Demo-cloudbuild”。 |
下载到主机的部署目录 | 输入“/usr/local/${package_name}/”。 |
7.单击“保存并部署”。
若出现弹窗,请确认参数设置准确后,单击“确定”。待页面显示。若部署失败,请参照部署常见问题排查
8.查看部署结果
打开一个新的浏览器页面,输入访问地址“http://IP:8080/test”,其中“IP”为准备工作中购买的ECS的IP
若出现以下访问结果,表示部署成功
通过流水线可以将代码检查、编译构建、部署等任务串联起来,当代码发生改变时,自动触发流水线执行,实现持续交付
1.单击导航栏“持续交付 > 流水线”,进入流水线服务。在“流水线”页面中显示自动创建的流水线“Web-Demo-pipeline”
2.单击,在下拉列表中选择“编辑”。
3.选择“任务编排”页签,配置流水线。
2.6部署构建包
中的参数设置保持一致4.选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”
5.单击“保存”,退出编辑
6.进入部署服务,编辑部署步骤,在“停止SpringBoot服务”中勾选“启用”
7.进入代码仓库,搜索并打开文件“TestController.java”。单击,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。
8.返回流水线页面,可看到流水线正在运行中。当页面显示时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容
1.拥有已实名认证的帐号。若没有,请先注册华为帐号并开通华为云并完成实名认证
2.已购买软件开发生产线
3.已购买CCE集群,购买时的必要配置请参考下表,表中未列出的配置保持默认即可
集群购买
配置分类 | 配置项 | 配置建议 |
---|---|---|
基础配置 | 计费模式 | 选择“按需计费”。 |
集群版本 | 建议选择最新版本。 | |
网络配置 | 网络模型 | 选择“VPC网络”。 |
容器网段 | 勾选“自动设置网段”。 |
集群创建时间稍微有一些长,大概5分钟左右
节点配置
单击创建的集群,进入集群控制台。在左侧菜单栏选择节点管理,单击右上角“创建节点”,在弹出的页面中配置节点的参数。
配置分类 | 配置项 | 配置建议 |
---|---|---|
计算配置 | 计费模式 | 选择“按需计费”。 |
节点类型 | 选择“弹性云服务器-虚拟机”。 | |
节点规格 | 选择2核8G及以上规格即可。 | |
容器引擎 | 选择“Docker”。 | |
操作系统 | 选择“公共镜像 > CentOS 7.6” | |
登录方式 | 选择“密码”。 | |
密码 | 输入自定义密码。 | |
网络配置 | 节点IP | 选择“随机分配”。 |
弹性公网IP | 选择“暂不使用”。 |
4.已在容器镜像服务中创建组织,本文中创建的组织名称为“web-demo”(这里需要自己随便取一个,我取的是yh-demo)
项目是使用软件开发生产线各服务的基础,创建项目后才能完成后续操作
代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库。
Dockerfile是用于构建镜像的文本文件,其中包含了构建镜像所需的指令和说明。了解Dockerfile更详细说明,请参见Docker官网
单击仓库名称,进入代码仓库
输入文件名Dockerfile,文件详情输入以下命令行
FROM openjdk:8-alpine
ADD target /demo
COPY ./target/demoapp.jar /demo
CMD ["java","-jar","/demo/demoapp.jar"]
输入备注信息,单击“确定”
通过编译构建任务将软件的源代码编译成镜像,并把镜像推送归档到容器镜像服务(SWR)中
单击导航栏“持续交付 > 编译构建”,进入编译构建服务。
单击“新建任务”,配置任务信息。
基本信息:配置以下信息,单击“下一步”
配置项 | 配置建议 |
---|---|
任务名称 | 输入自定义名称(本文中为“Web-Demo-docker”)。 |
源码源 | 选择“Repo”。 |
源码仓库 | 选择“Web-Demo”。 |
分支 | 选择“master”。 |
构建模板:选择“空白构建模板”,单击“下一步”。
配置构建步骤。
参照下表配置步骤“制作镜像并推送到SWR仓库”(表中未涉及的字段保持默认配置即可)。
配置项 | 配置建议 |
---|---|
组织 | 输入在准备工作中创建的组织名称“web-demo”(我的是yh-demo)。 |
镜像标签 | v1.0.0 |
完成配置,单击“新建并执行”。当页面中显示时,表示任务执行成功。若构建失败,请参考编译构建常见问题排查处理
登录容器镜像服务控制台,在页面左侧导航栏中选择“我的镜像”。页面中有一条镜像名称为“demo”,所属组织为“web-demo”的记录。单击镜像名称查看详情,镜像版本为“v1.0.0”。
在云容器引擎(CCE)中创建无状态负载(Deployment),用于加载运行demo镜像
登录云容器引擎控制台,单击在准备工作中购买的集群,进入详情页
在页面左侧导航选择“工作负载”,单击“创建负载”,参考下表完成配置,单击“创建工作负载”。
配置分类 | 配置项 | 配置建议 |
---|---|---|
基本信息 | 负载类型 | 选择“无状态负载”。 |
负载名称 | 自定义,本文中为“web-demo”。 | |
实例数量 | 选择“1”。 | |
容器配置 | 镜像名称 | 单击“选择镜像”,在弹框中勾选“demo”,单击“确定”。 |
更新策略 | 勾选“总是拉取镜像”。 | |
镜像版本 | 选择“v1.0.0”。 | |
高级配置 | 升级策略 | 升级方式选择“替换升级”。 |
页面提示创建成功,单击“查看工作负载详情”,返回负载详情页面,实例列表中显示一条记录。
当该记录的状态为“运行中”时,选择“访问方式”页签,单击“创建”,参考下表完成创建服务配置,单击“确定”若实例状态异常,请参考工作负载异常排查处理
配置项 | 配置建议 |
---|---|
Service名称 | 自定义,本文中为“web-demo”。 |
访问类型 | 选择“负载均衡”。 |
服务亲和 | 选择“集群级别”。 |
负载均衡器 | 选择“共享型 > 自动创建”,自定义实例名称(本文中为“web-demo-test”),勾选已阅读须知。 |
端口配置 | 协议:TCP 容器端口:8080 服务端口:8080 |
列表中显示一条记录,当服务名称出显示为时,将鼠标悬浮在访问类型下的负载均衡器名称处,在弹窗中复制公网地址。
打开新的浏览器页面,输入“http://IP:8080/test”,其中IP为上一步中复制的公网地址。
通过在部署服务中创建应用,将镜像部署自动化。
返回软件开发生产线页面,单击导航栏“持续交付 > 部署”,进入部署服务。单击“新建应用”,输入应用名称(本文中为“web-demo-k8s”),单击“下一步”
选择“空白模板”,单击“确定”
在步骤列表中搜索并添加步骤“Kubernetes快速部署(CCE集群)”,参考下表完成步骤配置
配置项 | 配置建议 |
---|---|
区域 | 选择集群所在的区域。 |
集群名称 | 选择准备工作中购买的集群名称。 |
命名空间名称 | 本文中选择“default”。 |
工作负载名称 | 选择“web-demo”。 |
容器名称 | 选择创建负载时,容器配置部分的容器名称。 |
单击“保存并部署”。当页面显示时,表示测试通过。若部署失败,请参照部署常见问题排查
通过配置流水线,将代码仓库、构建、部署串联起来,当代码仓库中发生代码提交动作时,可以自动触发流水线的执行,实现持续交付
单击导航栏“持续交付 > 流水线”,进入流水线服务
单击“新建流水线”,配置流水线
基本信息:配置以下信息,单击“下一步”
配置项 | 配置建议 |
---|---|
名称 | 输入“pipeline-web-demo”。 |
流水线源 | 选择“Repo”。 |
代码库名称 | 选择“Web-Demo”。 |
默认分支 | 选择“master”。 |
模板:选择“空模板”,单击“确定”。
配置工作流。
单击“新建任务”在“新建任务”窗口中,单击“Build构建”插件后的“添加”。
参考下表配置任务信息,单击“确定”
配置项 | 配置建议 |
---|---|
名称 | 输入自定义名称(本文中保持默认值)。 |
请选择需要调用的任务 | 选择“Web-Demo-docker”。 |
仓库 | 选择“Web-Demo”。 |
单击“新建阶段”,并修改阶段名称为“部署”。
单击“新建任务”,添加插件“Deploy部署”。
选择调用任务“web-demo-k8s”、关联构建任务选择之前设置的任务名称。
选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”,单击“保存”。
进入代码仓库,搜索并打开文件“TestController.java”。
返回流水线页面,可看到流水线正在运行中。当页面显示时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容。若任务执行失败,请于执行失败处检查失败原因,或参照流水线常见问题排查处理。