![2023磐舟一体化开发交付平台(HCS版)使用指南_第1页](http://file4.renrendoc.com/view/ae59a550687bc5c23ae04010562732cd/ae59a550687bc5c23ae04010562732cd1.gif)
![2023磐舟一体化开发交付平台(HCS版)使用指南_第2页](http://file4.renrendoc.com/view/ae59a550687bc5c23ae04010562732cd/ae59a550687bc5c23ae04010562732cd2.gif)
![2023磐舟一体化开发交付平台(HCS版)使用指南_第3页](http://file4.renrendoc.com/view/ae59a550687bc5c23ae04010562732cd/ae59a550687bc5c23ae04010562732cd3.gif)
![2023磐舟一体化开发交付平台(HCS版)使用指南_第4页](http://file4.renrendoc.com/view/ae59a550687bc5c23ae04010562732cd/ae59a550687bc5c23ae04010562732cd4.gif)
![2023磐舟一体化开发交付平台(HCS版)使用指南_第5页](http://file4.renrendoc.com/view/ae59a550687bc5c23ae04010562732cd/ae59a550687bc5c23ae04010562732cd5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中移信息技术有限公司《磐舟一体化开发交付平台使用手册》2022年6月16日目录HYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINKHYPERLINK\l"br120"yamlHYPERLINK\l"br120"文件详解HYPERLINK\l"br120"............................................115IV1序言1.1文档说明块提供的详细操作步骤说明。1.2阅读对象本文的读者对象为三类用户:用户类型用户描述涉及功能模块项目普通各类研发与工程项目中的需求、开用户发、测试、运维、配置管理人员厂商项目经理、局方项目经理CICD、统一制品库等功能模块)统计报表、我的部门)项目管理用户12用户操作手册2.1登录输入【账户】【密码】后点击【登录】按钮登录敏捷开发管理2.2.1项目协同配置1.进入项目后,点击【项目配置】2.点击【项目协同配置】2模块管理注:模块管理点击【模块管理】.1新增模块点击【新建模块】->输入【模块名称】->点击【保存】.2搜索模块输入关键字后查看搜索结果.3编辑模块名称点击模块条目后的【编辑】,输入更改后的名称后点击【保存】.4删除模块点击模块条目后的【删除】->点击【确定】.4使用模块作为条件筛选1.点击【筛选输入框】选择【所属模块】53.下拉框中选择模块功能开关注:若需要限制需求相关字段在不同状态下是否可编辑,则需要打开此功能开关1.点击【功能开关】62.打开开关后将根据需求状态约束是否可编辑标签管理点击【标签管理】.1新增标签1.点击新增标签按钮2.输入【标签名称】后点击【保存按钮】.2搜索标签在搜索框中输入标签关键字.3删除标签点击标签条目后的【删除】,并在弹出的提示页面中点击确定.4编辑标签名称点击标签条目后的【编辑】按钮,输入更改后的标签名称后点击【保存】.5使用标签作为搜索条件1.筛选条件中选择【标签】2.选择一个标签作为筛选条件10状态自定义系统默认提供一套完整的状态,若需自定义需求、任务、缺陷的状态可参考本节进行操作点击【状态自定义】.1新增状态1.点击笔图标2.输入状态名称(若您输入的状态名称不存在会自动新建一个)113.选择新增的状态->选择【状态类型】->点击【确定】.2删除状态点击状态后的垃圾桶按钮,并在弹出框中【确定】即可删除状态.3设为初始状态在状态后点击【设为初始状态】即可设置为新建条目的初始状态.4改变状态顺序拖动条目以改变状态顺序2.2.2需求创建需求13以及快速创建,点击创建需求,即可弹出创建需求页面。需求拆分点击所创建的一级需求,可进入需求属性页,可看到属性、子需求、任务、行创建。14需求查看样式需求页面可选择两种查看格式,一种按照列表查看,一种按照表格查看。15自定义排序下拉框中选择适合自己的排序方式需求筛选选。的、我关注的、全部打开的、全部等进行筛选。16筛选,也可以清楚已选择项。示姓名,所属厂商,邮箱等信息。17需求更新点击今日更新,可展示出所有今日更新的需求。点击本周更新,可展示所有本周更新的需求。修改需求状态为本人时,方可进行修改。18导出需求需求页面点击导出需求即可一键导出需求。批量操作除。192.2.3任务创建任务选择敏捷项目协同,点击任务,点击创建任务,即可弹出创建任务页面。20查看任务点击任务标题可进入任务属性页查看任务。的附件。21操作的动态以及操作的日期。可以新建分支。22点击当前任务标题进入任务属性页,点击评论,可评论此任务。添加任务工时日期,输入实际工时(一天工时不得大于24小时)点击创建工时,即可创建成功。删除任务工时删除按钮,可删除当前工时。23导出任务进入任务模块,点击导出任务,可导出当前页,也可以导出全部任务。任务更新点击今日更新,可展示出所有今日更新的任务。24点击本周更新,可展示出所有本周更新的任务。任务筛选代、所属模块进行筛选。25关注的、全部打开的、全部等进行筛选。选择项。26邮箱等信息,也可在搜索框内查找内容。批量操作理人、归属迭代批量删除任务等。修改任务状态务的当前处理人。272.2.4缺陷创建缺陷点击敏捷项目协同,点击缺陷,点击创建缺陷,即可弹出创建缺陷页面。查看缺陷点击缺陷标题进入缺陷属性页,即可查看缺陷28点击缺陷标题进入缺陷属性页,点击工时,即可添加工时。点击缺陷标题进入缺陷属性页,点击附件,点击上传,即可上传附件。及操作的时间。29建分支。点击缺陷标题,进入缺陷属性页,点击评论,可对当前缺陷进行评论。30导出缺陷点击缺陷,点击导出缺陷,可选择导出当前页,可导出当前页面的BUG。缺陷更新点击缺陷,点击今日更新,可展示出今日更新的缺陷。点击缺陷,点击本周更新,可展示出本周更新的所有缺陷。31缺陷筛选陷来源、标签、所属模块等进行筛选。打开的、全部进行缺陷的筛选。32缺陷可按照未开始、进行中、已完成进行筛选,也可清除已选择项。可按当前处理人筛选缺陷,搜索内容可展示姓名、厂商、邮箱等信息。33修改缺陷状态缺陷优先级可按照低、中、高、紧急等进行选择。起、重新打开。当前处理人以及提出人均可进行修改。34批量操作点击批量操作,可批量操作优先级、计划完成日期、当前处理人、删除。2.2.5迭代创建迭代点击敏捷项目,点击迭代,点击创建迭代,即可弹出创建迭代页面。35创建迭代页面可输入标题、负责人、开始日期、结束日期、迭代目标。规划工作项需求、任务、缺陷可在规划工作项内展示。36点击规划工作项中标题,可进入属性页,进行操作。可按照未规划、未开始、已完成等进行筛选。37迭代列表板、概要。任务列表点击迭代,点击迭代列表,点击迭代名称,即可进入任务列表页。38任务看板板页。任务看板页,可按照任务划分,也可按照处理人划分。39可按照标题、负责人、更新日期、优先级、标签进行筛选。可按照标题、负责人、截止日期、问题年龄进行排序。40任务看板页,可创建任务、缺陷。需求列表点击迭代,点击迭代标题,点击需求列表,可进入需求列表页。41需求看板点击迭代,点击迭代标题,点击需求看板,可进入需求看板页。可按照标题、负责人、更新日期、优先级、标签进行筛选。42可按照标题、负责人、截止日期、问题年龄进行排序。可创建任务、创建缺陷。43概要点击迭代,点击迭代标题,点击概要,可进入概要页面。2.2.6发版点击【发版】进入本模块的使用44创建版本【版本列表】->点击【创建版本】->输入相关信息->点击【创建版本】编辑、删除版本版本【版本列表】->【操作】栏->【编辑】->对信息进行修改后点【编辑】【版本列表】->【操作】栏->【删除】->弹出框中【确认】45规划版本事项将左侧的事项拖动至右侧对应的版本即可版本关联应用程序及构建版本点击版本进入->版本概要->选择要关联的应用程序->选择要关联的构建版本->【关联】46上传文件点击【上传文件】->选择文件创建申请单说明整个流程1.【创建申请单】->【上线申请单】【确认】472.输入相关信息后点击【确认】3.点击【提交审批】工单将流转至您选择的【上线审批人】进行处理482.2.7成员任务总览成员类别可按照全部人员、非外协人员、外协人员进行筛选。成员可按照成员进行筛选任务49日期可按照日期筛选任务导出点击导出可将成员任务全部导出502.2.8今日站会员任务进行跟踪,也可作为早会参照。可以选择根据【版本】或【迭代】进行查看批量添加到版本根据迭代查看时可使用此功能点击【批量添加到版本】->选择版本,即可将页面展示内容全部添加到版本中完成当前迭代完成当前迭代需求将当前迭代中为完成的事项迁移到另外为完成的迭代中51操作步骤:【完成当前迭代】->选择迭代->【完成迭代】需求看板选择迭代或版本后,可以从任务、一级需求、二级需求、处理人三个角度查看需求任务看板选择迭代或版本后,可从任务、处理人两个角度查看任务和缺陷52统一代码托管注:此部分仅介绍了磐舟的页面操作,git命令参考链接2.3.1使用SSH方式操作代码使用SSH方式操作代码包含:配置SSHKey、本地上传下载代码配置12.gitconfig--global'用户名配置用户名.gitconfig--globaluser.email'XXX@XX.com'配置邮箱3.ssh-keygen-t-C邮箱sshkey2-.将本地的sshkey->SSHKeys->【新建SSHKey】>输入【标题】->粘贴【公钥】->点击【确认】53本地拉取或上传代码1.进入代码仓库找到clone地址后复制2.gitclonessh://git@XXX.git拉取代码3.进入本地目录后使用gitremoteaddpodssh://git@XXX/ert.git配置远端目标使用gitpush–upod2all推送542.3.2新建代码仓库若您的项目下还没有代码仓库,您可以选择新建一个,具体操作如下:1.进入【项目工作台】2.通过项目工作台中收藏的项目或项目列表中进入项目55我们提供两种创建代码仓库的方式供您选择:【普通创建】、【模板创建】普通创建1.点击【代码仓库】后点击【新建代码仓库】2.输入【应用程序名称】后点击【确定】可以根据实际需求进行更改2.限,在此应用程序构建时会收到一条平台消息推送。34.开发语言默认提供,您可以根据开发语言自行选择.README.gitignore对代码仓库进行初始化56.若您未添加【内部端口】则默认为8080.可以输入【描述】563.若您在第4README.gitignore以选择我们提供的四种初始化方式之一进行初始化模板创建1.点击【代码仓库】后点击【新建代码仓库】572.->->->选择模板点击【确定】3.查看模板创建成功的代码仓库582.3.3编辑代码仓库1.点击【持续交付】选择【应用交付配置】,点击要编辑代码仓库条目后的【编辑】按钮2.使更改生效592.3.4删除代码仓库1.点击【持续交付】后选择【应用交付配置】,点击对应条目后的【删除】2.在弹出框中点击【确定】即可删除所选代码仓库602.3.5分支管理分支管理包括:分支新建、分支删除以及受保护分支设置。分支新建1.左侧菜单栏选择【代码仓库】,点击代码仓库标题2.选择【分支】点击【新建分支】613.输入【分支名称】并选择【来源分支】后点击【确定】分支删除1.点击分支列表后的三个点->点击【删除】622.在弹出框中点击【确定】受保护分支设置1.点击代码仓库列表后表的三个点选择【设置为受保护的分支】632.对merge和push的权限进行设置后点击【确定】3.【取消受保护的分支】642.3.6代码文件代码文件包括:代码文件在线浏览、代码文件在线编辑与提交、MarkDown文件格式预览代码文件在线预览1.进入代码仓库后,点击【源文件】->选择要预览的文件->选择【预览】代码文件在线编辑与提交1.选择【文件】后点击【编辑】即可对文件进行在线编辑2.编辑后输入【commitmessage】并点击【保存】即可完成对文件的在线提交65文件在线预览进入代码仓库时会自动显示readmemarkdown文件的预览可以参考代码文件在线预览代码比对选择代码文件点击【代码比对】commit后即可查看比对结果662.3.7新建1.点击【MergeRequest->点击【新建MergeRequest】2.输入相关信息后点击确定673.查看成功新建的MergeRequest修改点击MergeRequest后的【修改】,输入修改的信息后点击【确认】即可68删除点击mergerequest后的【删除】,在弹出的提示框中点【确定】合并分支点击【合并分支】后在弹出的提示框中点击【确定】692.3.8代码提交记录查看进入代码仓库后点击【提交记录】查看本仓库的提交记录代码仓库操作日志查看进入代码仓库后点击【操作日志】70安全扫描和质量扫描结果进入代码仓库后点击【代码扫描】开源代码扫描进入代码仓库后点击【开源代码扫描】712.3.9浏览器在线编辑器本部分包括:在线编辑修改代码、在线提交代码使用相关功能前您需要打开云IDE->IDE->【立即授权】在线代码编辑1.进入代码仓库点击【云IDE】722.在打开的【云IDE】页面进行编辑在线提交代码1.对代码编辑后,点击分支图标->点击三个点即可进行提交操作732.在平台上可查看到自己的提交记录持续集成2.4.1持续集成操作方法介绍yaml配置文件——提供了一种让你知其然更知其所以然的方式。优势如下:74后究竟做了哪些事;···灵活性:配置文件可以创建比命令行更复杂的结构;可维护性:配置文件提供了创建资源对象的模板,能够重复使用;可扩展性:适合跨环境、规模化的部署。了解更多yaml相关配置可参考附录。获取镜像仓库名称找到镜像仓库名称保留下来,后续配置时需要用到。镜像仓库中有初始化仓库,复制名称即可,存在的仓库才可使用持续集成相关配置.1持续集成配置文件模板持续集成编译构建需要在每一个应用中添加两个yaml文件和dockerfile3种语言vuegolangDockerfile文件中进3行编辑达到效果(开放给使用者扩展)。文件的目录结构如下:(放到根目录里)7.2持续集成配置文件解读文件例:ci-java-template-repository模板,带maven依赖库缓存的,推荐使用。Dockerfile文件中红框标注需要自己修改:1.基础镜像前需要加artifactory.dep.devops.cmit.cloud:20101/tools/字符,目的从集群内下载镜像。23.demo-0.0.1-SNAPSHOT.jar字符,根据自己应用生成的jar包进行更改。.EXPOSE8080暴露端口号自行修改。76文件cmit-docker-ci.yml文件中,红框标注需要自己修改:1此模板是act框架的标准模板,stepsgithubaction官网了解。2.TAG为镜像的tag标签,目前我们用的是当前系统的时间戳。用户可以自定义打tag标签。例如把:${{env.TAG}}换成:v1。3./cicd-test/cicd-test是镜像仓库名称工程名,根据自己的项目名、应用名进行路径就能上传到对应的仓库里面。上述步骤做完后代码上传至代码仓库的根目录。代码提交使用者根据自己应用的需求创建代码仓库,建议一个模块一个仓库。后续配置CICD比较方便,并且耦合性降低。代码提交有问题可找管理人员获取代码同步文档。构建的流水线原理通过执行yaml#镜像版本:ubuntu-latest;然后创建镜像库并在yaml文件中按要求进行相关设置,以便推送镜像。通过执行dockerfile文件配置的步骤命令进行流水线构建、打镜像。77以上两个文件配置完成后,到代码仓库直接发起构建即可。配置CI自动构建需要找相关管理人员开通自动构建。提交代码自动触发构建,生成镜像并上传。构建与构建日志通过平台选项进入构建与查看日志。.1模板构建在手动配置完yaml文件和dockerfile支,分支根目录中需上传ci配置。7.2录入构建录入构建无需提前配置和像库,填写镜像名称(即工程名称),选择位置路径,点击确认即可构建。.3查看构建好的镜像构建完成后点击CI,如构建成功,便可在“镜像信息”中看到已经构建好的镜像也可以进入镜像仓库,点击镜像列表,找到已经构建好的镜像7.4查看日志CI,进入界面后点击构建编号进行日志查看。下拉至最后找到制作好的镜像,将其保存,在cd部署中使用镜像名称可以进行版本更80新或者回退。持续部署2.5.1部署管理操作方法部署管理相关配置.1部署管理配置文件解读新建namespaces在部署管理-模块管理-Namespace下,点击新建Namespace填入Namespace名称,点确定81ImagePullSecretdeployment.yml文件的相应位置。该模块生成的是统一制品库拉取镜像的secret,仅可用于拉取当前项目制品库仓库下的私有镜像,请将生成的名称添加于deployment或者其他应用部署文件中containers下的imagePullSecrets字段中,注意:imagePullSecrets内容为数组类型,请按照正确的格式添加.82文件Deployment与RC的作用其实是一样的,都是为了管理Pod的副本数。projectid可以在项目url中找到↓:83将模板中的***和红框所选替换成自己项目信息获得简单的yaml配置文件,可根据自己的需求进行添加删除yaml文件中的模块。文件Service是KubernetesService器应用提供一个统一的入口地址,并将请求负载分发到后端各个容器应用上。84添加环境填写环境名称(一般是项目名-集群),路径默认是项目英文名-集群,选择所属集群。添加模块填写模块名称(一般是项目名-模块),路径一般默认是项目英文名-模块,选择所属环境。85添加工作负载与资源.1选择环境和模块.2添加文件-、86service.yaml文件没有特殊改动,仿照上述步骤复制进去即可。设置网关1、点击选择网络策略域名管理,点击域名申请21长期域名长期有效,自定义有效周期,提交平台运营管理员审批,审批通过后即刻生效873击选择部署管理-模块管理,点击新建4、填写网关名称,选择NameSpace,点击添加VirtualService5、填写名称,下拉选择(为之前申请的域名),处填,服务名可填写项目名称,端口默认80,点击确定后,网关就配置好了。6、设置完成过即可通过浏览器地址直接访问应用。88知识库新增知识库文档修改知识库文档8查询知识库文档查看知识库文档历史版本点击可查看某个历史版本的详细内容90统计知识库文档访问情况导入知识库文档支持格式文件的导入:9导出知识库文档支持格式文件导出:统计报表与概览点击左侧“统计报表”进入统计报表模块2.7.1数据报表外协需求明细表1.点击上图的“外协需求明细表”进入922.根据时间范围进行筛选345.导出外协需求明细表.复制表格后进行粘贴.导出表格为Excel外部技术服务工作量确认表->两个维度进行筛选,也可以导出表格93周报->日报点击“统计报表”->“日报”,选择日期可查看对应时间的日报9图表成员工作负载图->三方面进行展示需求趋势报表点击“统计报表”->点击“需求趋势图”951.可以从优先级、需求状态、需求类型三个维度进行筛选2.可以从日、周、月三个筛选周期进行筛选.可选择时间范围进行筛选3任务趋势报表点击“统计报表”->点击“任务趋势报表”1.可以从优先级和任务状态两个维度进行筛选2.可以从日、周、月三个筛选周期进行筛选.可以选择时间范围进行筛选396缺陷趋势报表点击“统计报表”->点击“缺陷趋势报表”1.可以从优先级和缺陷状态两个维度进行筛选2.可以从日、周、月三个筛选周期进行筛选.可以选择时间范围进行筛选3项目成员管理2.8.1添加项目群成员有权限的用户可以看见小螺丝按钮,点击进入平台管理界面97范围)选择【项目群人员管理】后点击【添加已有成员】根据部门或者关键字搜索后选择成员,点击【确认】即可将被选择成员添加至项目群982.8.2添加项目成员进入项目设置页通过一下两种方式的任一种进入项目配置页面a.在项目列表页进入b.进入项目后进入项目配置的方式为项目成员分配角色a.点击分配角色99b.在弹出框中选择要分配的角色后点击“确定按钮”c.可以看到已经成功为用分配了角色100添加成员进用户组添加用户进用户组的前提是已为用户分配了角色a.点击“用户组”b.点击用户组后的“组成员”101c.选择要添加的成员后点击“确定”d.该成员登录gitlab可查看项目1021033常见问题Q1:平台是干什么的?A:磐舟一体化开发交付平台定位于业务系统上云之路,聚焦敏捷开发与持续交IDE境的一致性;通过持续交付,连接应用系统与PaaS云平台,实现代码到应用一键上云。通过磐舟一体化开发交付平台,实现了人员、流程和技术三者的融合,推进了研发过程标准化、自动化,助力IT系统云化改造。Q2:什么是项目?A:功能。Q3:什么是应用?A:线产品。Q4:如何创建租户?A:创建一个租户。Q5:如何上传代码?IDEIDEVSCode交付平台已经完成了gitlab和VSCode的关联,您在VSCode中进行代码的提交操作即可。创建SSHkey后,可以使用url地址进行上传。Q6:如何创建SSHKey?A:第1步:创建SSHKey104在Windows下查看[c盘->用户->自己的用户名->.ssh]"id_rsa、id_rsa.pub"文件,如果没有需要手动生成。如果存在也可以选择覆盖。在控制台中输入以下命令:ssh-keygen,输入完毕后按回车,程序会要求输入生成文件的路径。如果"id_rsaid_rsa.pub"件存在不想覆盖掉。如要输入C:\Users\自己的用户名/.ssh/id_rsa_oschina“id_rsa_oschina”为自定义文件名避免重复覆盖掉源文件。然后再按两次回车,表示密码为空,并且确认密码为空,此时[c盘>用户>自己的用户名>.ssh]目录下已经生成好了。第2步:将SSH添加到devops平台登录devops。打开个人信息->SSHkeys,点击新增SSHkey,把[c盘->用户->自己的用户名->.ssh]目录下生成好的公钥".pub"结尾的文件以文本打开复制放进key输入框中,再为当前的key起一个title来区分每个key。在.ssh目录创建config文本文件并完成相关配置最核心的地方)每个账号单独配置一个HostHostHost主要配置HostName和IdentityFile两个属性即可。Host的名字可以取为自己喜欢的名字,不过这个会影响git相Hostmygithubgit@后面紧跟的名字改为mygithubgitclonegit@mygithub:PopFisher/AndroidRotateAnim.gitHostName这个是真实的域名地址IdentityFile这里是id_rsa的地址PreferredAuthentications配置登录时用什么权限认证--可设为publickey,passwordpublickey,keyboard-interactive等User配置使用用户名config文件配置如下:##配置HostHostNameIdentityFileC:\\Users\\popfisher\\.ssh\\id_rsa_githubPreferredAuthenticationspublickey配置HostHostNameIdentityFileC:\\Users\\popfisher\\.ssh\\id_rsa_oschina105PreferredAuthenticationspublickeyQ7:如何管理SSHKey?SSHKEY以上传本地的sshkey至平台。Q8:如何merge?IDEMergeRequest图填写信息后【确定】负责人可以在同样得位置对分支进行【合并】。106Q9:如何使用云IDEA:IDEIDEIDE】即可进入【云IDE】进行操作。107Q10:如何使用云IDE调试功能?A:IDE试】即可获得调试地址和内部端口。108Q11:如何找到gitlab地址A->进入项目->->作】中点击【代码仓库】即可查看gitlab访问地址。Q12:怎么去配置SSHKey?A:第一步:用cd~/.ssh看下是否有.ssh文件夹,若无可先mkdir生成文件夹,也可使用ssh-keygen命令生成公私钥自动生成文件夹。109第二步:在上一步所示的位置找到刚生成的公钥。第三步:将生成的公钥复制下来并进入平台。110第四步:点击【确认】,您已成功配置SSHKey。Q13:怎么通过git操作代码Git中的域名(git.devops.hq.cmcc)替换成IP地址(16),直接访问,此为临时方案。第一步:进入项目->代码仓库->Clonegitbash测试是否可以连通gitlab4A命令:ssh-Tgit@git.devops.cmit.cloud-p20002;使用gitbash测试是否可以连通gitlab服务器(通过办公网访问),命令:ssh-Tgit@git.devops.hq.cmcc-p20002第三步:用第一步复制的地址将项目克隆下来,命令:gitclonessh://git@git.devops.cmit.cloud:20002/devops/devops_approval.git第四步:接下来,您就可以按需进行代码操作啦~。(这里可以放从git上克隆下来的项目的样子,如下图)111Q14:如何申请代码开发权限?A:由项目管理员为该成员设置为开发人员角色。4附录4.1yaml文件详解(一):yaml文件基础一、K8S创建资源的方式K8S有两种创建资源的方式:12)kubectl命令行:最为简单,一条命令就OK;)yaml配置文件:提供了一种让你知其然更知其所以然的方式;yaml配置文件优势如下:的创建背后究竟做了哪些事;灵活性:配置文件可以创建比命令行更复杂的结构;可维护性:配置文件提供了创建资源对象的模板,能够重复使用;可扩展性:适合跨环境、规模化的部署。112二、yaml是什么?yaml是一种用来写配置文件的语言,没错,它是一门语言。如果你用过jsonyaml又被称为是jsonjson更方便。结构上它有两种可选的类型:Lists和Maps。List用-(破折号)来定义每一项,Map则是一个key:value的键值对来表示。三、YAML语法规则12)大小写敏感;)使用缩进表示层级关系:缩进时不允许使用Tab键,只允许使用空格;缩进的空格数目不重要,只要相同层级的元素左侧对齐即可;“#”表示注释,从这个字符一直到行尾,都会被解析器忽略;---”为可选的分隔符“在Kubernetes中,只需要知道两种结构类型即可:ListsMaps四、kubernetesyaml文件模板:yaml格式的pod定义文件完整内容参考:#定义文件完整内容:apiVersion:kind:#必选,版本号,例如v1Pod必选,元数据metadata:name:stringPodnamespace:string#必选,所属的命名空间#自定义标签-name:string##自定义注释列表annotations:-name:stringspec:Pod中容器的详细定义#中容器列表#必选,容器名称containers:name:stringimage:stringimagePullPolicy:[Always|Never|IfNotPresent]#获取镜像的策略表示下载镜像IfnotPresent表示优先使用本地镜像,否则下载镜像,表示仅使用本地镜像-#必选,容器的镜像名称command:[string]args:[string]#容器的启动命令列表,如不指定,使用打包时使用的启动命令#workingDir:string容器的工作目录113volumeMounts:#挂载到容器内部的存储卷配置-name:string#引用volumes[]部分定义的的卷名#存储卷在容器内mount的绝对路径,应少于512字符mountPath:string:boolean#是否为只读模式#需要暴露的端口库号列表#ports:-name:stringcontainerPort:hostPort:int#容器需要监听的端口号#容器所在主机需要监听的端口号,默认与Container#端口协议,支持TCP和,默认TCP#容器运行前需设置的环境变量列表protocol:string-name:string#:string#环境变量的值resources:limits:资源限制和请求的设置#cpu:stringmemory:string的限制,单位为core数,将用于dockerrun--cpu-shares#内存限制,单位可以为Mib/Gib,将用于dockerrun--memoryrequests:#资源请求的设置cpu:string请求,容器启动的初始可用数量memory:string#内存清楚,容器启动的初始可用数量#对容器,检查方法有exechttpGet和tcpSocket,对一个容器只需设置其中一种方法即可exec:#对容器内检查方式设置为execcommand:[string]#exec方式需要制定的命令或脚本httpGet:#对内个容器健康检查方法设置为HttpGet,需要制定Pathport:stringport:numberhost:stringscheme:stringHttpHeaders:-name:string:stringtcpSocket:port:numberinitialDelaySeconds:0#容器启动完成后首次探测的时间,单位为秒#对内个容器健康检查方式设置为tcpSockettimeoutSeconds:0periodSeconds:0successThreshold:0failureThreshold:0securityContext:#对容器健康检查探测等待响应的超时时间,单位秒,默认1秒#对容器监控检查的定期探测时间设置,单位秒,默认秒一次privileged:falserestartPolicy:[Always|Never|OnFailure]#Pod的重启策略,Always表示一旦不管以何种方式终止运行,kubelet都将重启,OnFailure表示只有以非0退出码退出才重启,Nerver表示不再重启该Pod114nodeSelector:obeject#设置NodeSelector表示将该Pod调度到包含这个label的nodekey:value的格式指定imagePullSecrets:name:stringhostNetwork:false用宿主机网络volumes:镜像时使用的secretkey:secretkey-falsetrue#在该上定义共享存储卷列表-name:stringemptyDir:{}#(volumes类型有很多种)#emtyDir的存储卷,与同生命周期的一个临时目录。为空值:string:string#hostPath的存储卷,表示挂载Pod所在宿主机的目录所在宿主机的目录,将被用于同期中mountsecret:scretname:stringitems:#secret的存储卷,挂载集群与定义的secre对象到容器内部-:string:stringconfigMap:#configMap的存储卷,挂载预定义的configMap对象到容器内部name:stringitems:-:string:string4.2yaml文件详解(二):k8s各类yaml一、deployment.yaml文件详解apiVersion:extensions/v1beta1#接口版本kind:Deploymentmetadata:#接口类型name:cango-demonamespace:cango-prdlabels:#Deployment名称#命名空间app:cango-demospec:#标签replicas:3strategy:rollingUpdate:##replicas为3,则整个升级,pod个数在个之间maxSurge:1#滚动升级时会先启动1个podmaxUnavailable:1#滚动升级时允许的最大Unavailable的pod115template:metadata:labels:app:cango-demo#模板名称必填sepc:#定义容器模板,该模板可以包含多个容器containers:-name:cango-demo#镜像名称image:/cango-prd/cango-demo:0.0.1-SNAPSHOT#镜像地址command:["/bin/sh""-c""cat/etc/config/path/to/special-key"]args:#启动命令#启动参数-----'-storage.local.retention=$(STORAGE_RETENTION)''-storage.local.memory-chunks=$(STORAGE_MEMORY_CHUNKS)''-config.file=/etc/prometheus/prometheus.yml''-alertmanager.url=http://alertmanager:9093/alertmanager''-web.external-url=$(EXTERNAL_URL)'##如果和args均没有写,那么用Docker默认的配置。如果写了,但args没有写,那么Docker默认的配置会被忽略而且仅仅执行文件的command(不带任何参数的)。如果没写,但args写了,那么Docker默认配置的ENTRYPOINT的命令行会被执行,但是调用的参数是中的args。如果如果和args都写了,那么Docker默认的配置被忽略,使用的配置。##imagePullPolicy:IfNotPresent#如果不存在则拉取livenessProbe:#表示container是否处于liveLivenessProbeLivenessProbe将会通知kubelet对应的containerkubelet将kill掉container,并根据RestarPolicy进行进一步的操作。默认情况下LivenessProbe在第一次检测之前初始化值为Success,如果container没有提供LivenessProbe,则也认为是Success;httpGet:path:/health#如果没有心跳检测接口就为/port:8080scheme:HTTPinitialDelaySeconds:60##启动后延时多久开始运行检测timeoutSeconds:5successThreshold:1failureThreshold:5readinessProbe:httpGet:path:/health#如果没有心跳检测接口就为/port:8080scheme:HTTP116initialDelaySeconds:30##启动后延时多久开始运行检测timeoutSeconds:5successThreshold:1failureThreshold:5resources:requests:cpu:2##CPU内存限制memory:2048Milimits:cpu:2memory:2048Mienv:OS环境变量##pod=自定义Linux#本地Key-name:LOCAL_KEYvalue:value-name:CONFIG_MAP_KEY#局策略可使用configMap的配置Key,valueFrom:configMapKeyRef:name:special-config#configmap中找到为special-configkey:special.type#找到为special-config里下的ports:name:httpcontainerPort:8080对service暴露端口-volumeMounts:#挂载中定义的磁盘---name:log-cachemount:/tmp/logname:sdb#普通用法,该卷跟随容器销毁,挂载一个目录mountPath:/data/medianame:nfs-client-root#直接挂载硬盘方法,如挂载下面的目录到/mountPath:/mnt/nfs-name:example-volume-config#高级用法第1种,将ConfigMap的log-script,backup-script分别挂载到/etc/config目录下的一个相对路径path/to/...在同名文件,直接覆盖。mountPath:/etc/config-name:rbd-pvc#高级用法第2中,挂载PVC(PresistentVolumeClaim)#使用将ConfigMap作为文件或目录直接挂载,其中每一个key-value键值对都会生成一个文件,key为文件名,value为内容,volumes:#定义磁盘给上面volumeMounts-name:log-cacheemptyDir:-name:sdb#挂载宿主机上面的目录117hostPath:path:/any/path/it/will/be/replaced-name:example-volume-config#供ConfigMap文件内容到指定路径使用configMap:name:example-volume-config#ConfigMap中名称items:-key:log-scriptpath:path/to/log-script#指定目录下的一个相对路径path/to/log-scriptkey:backup-script#ConfigMapKeypath:path/to/backup-script#指定目录下的一个相对路径path/to/backup-script#ConfigMapKey---name:nfs-client-rootnfs:#供挂载NFS存储类型server:5path:/opt/publicname:rbd-pvc#NFS#showmount-e看一下路径#挂载PVCpersistentVolumeClaim:claimName:rbd-pvc1#挂载已经申请的磁盘二、pod.yaml文件详解#定义文件完整内容:apiVersion:kind:#必选,版本号,例如v1Pod必选,元数据#Podmetadata:name:stringnamespace:string#必选,所属的命名空间#自定义标签-name:string##自定义注释列表annotations:-name:stringspec:Pod中容器的详细定义#中容器列表#必选,容器名称containers:name:stringimage:stringimagePullPolicy:[Always|Never|IfNotPresent]#获取镜像的策略表示下载镜像IfnotPresent表示优先使用本地镜像,否则下载镜像,表示仅使用本地镜像-#必选,容器的镜像名称command:[string]args:[string]#容器的启动命令列表,如不指定,使用打包时使用的启动命令#workingDir:stringvolumeMounts:#容器的工作目录#挂载到容器内部的存储卷配置-name:string#引用volumes[]部分定义的的卷名mountPath:string:boolean#存储卷在容器内mount的绝对路径,应少于512字符#是否为只读模式118ports:#需要暴露的端口库号列表#-name:stringcontainerPort:hostPort:int#容器需要监听的端口号#容器所在主机需要监听的端口号,默认与Container#端口协议,支持TCP和,默认TCP#容器运行前需设置的环境变量列表protocol:string-name:string#:string#环境变量的值resources:limi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湘教版数学九年级下册3.2《直棱柱、圆锥的侧面展开图》听评课记录
- 七年级道德与法治上册第三单元 师长情谊第六课师生之间第1框走近老师听课评课记录(新人教版)
- 七年级英语上册 Unit 6 Do you like bananas SectionA (Grammar Focus-3c)说课稿(新版)人教新目标版
- 2025年度办公房屋租赁与办公家具租赁一体化服务合同
- 小学听评课记录反思总结
- 2025年度专业医学翻译合同范本
- 2025年度智能化改造工程验收服务委托合同
- 湘教版地理七年级上册《第四节 世界主要气候类型》听课评课记录之讨论资料
- 2025年度建筑行业建筑工程验收合同示范文本
- 2025年度云计算与大数据服务合同标准范本
- 销售人员课件教学课件
- LED大屏技术方案(适用于简单的项目)
- Lesson 6 What colour is it(教学设计)-2023-2024学年接力版英语三年级下册
- 历年国家二级(Python)机试真题汇编(含答案)
- GB/T 4706.10-2024家用和类似用途电器的安全第10部分:按摩器具的特殊要求
- NB/T 11446-2023煤矿连采连充技术要求
- 2024年江苏省苏州市中考英语试题卷(含标准答案及解析)
- 第五单元任务二《准备与排练》教学设计 统编版语文九年级下册
- 设计质量、进度、服务保证措施
- 2024北京海淀高三一模英语试卷(含参考答案)
- 三高疾病之中医辨证施治
评论
0/150
提交评论