丰台网站开发网页设计与制作的实训报告怎样写

当前位置: 首页 > news >正文

丰台网站开发,网页设计与制作的实训报告怎样写,商标设计网站主要提供哪些服务,国家企业信用信息网查询目录 一、概述 二、典型操作流程 2.1 CI/CD典型操作流 2.2 CI/CD操作流程说明 2.3 总结 三、基于GitHubDocker的持续交付/持续部署流水线#xff08;公有云#xff09; 3.1 基于GitHubDocker的持续交付/持续部署操作流程示意图 3.2 GitHubDocker持续交付/持续部署流水…目录 一、概述 二、典型操作流程 2.1 CI/CD典型操作流 2.2 CI/CD操作流程说明 2.3 总结 三、基于GitHubDocker的持续交付/持续部署流水线公有云 3.1 基于GitHubDocker的持续交付/持续部署操作流程示意图 3.2 GitHubDocker持续交付/持续部署流水线技术实现原理 3.2.1 添加Action模板 3.2.2 构建Workflow流程 四、基于JenkinsDockerK8s的持续交付/持续部署流水线 4.1 JenkinsDockerK8s持续部署流程示意图 4.2 JenkinsDockerK8s持续部署流水线技术实现原理 4.2.1 安装KubeOperator 4.2.2 Jenkins配置 4.2.2.1 安装Jenkins K8s插件 4.2.2.2 配置K8s凭据 4.2.2.3 配置K8s集群连接 4.2.2.4 Jenkinsfile 文件编写 4.2.3 总结 一、概述 在实际工作中CI/CD通常是在一起的。但是为了详细地向大家讲述其中涉及的技术要求将其拆分分别向大家讲述持续交付、持续部署与持续集成的流程方便大家理解自动化流程是如何从测试环境向生产环境变化过渡的下面就从这些变化点结合前文的CI流程来介绍CD操作流程和使用场景。并介绍公有云基于GitHubDocker的持续交付/持续部署流水线方案和私有云基于JenkinsDockerK8s的持续交付/持续部署流水线方案。 二、典型操作流程 2.1 CI/CD典型操作流 无论是中小型企业还是大型互联网企业当企业DevSecOps能力完成CD全流程覆盖时通常选择容器技术来构建其典型操作流程和使用场景大体如下图所示 2.2 CI/CD操作流程说明 上图操作流程主要步骤如下 开发人员提交代码到GitHub代码仓库。版本控制系统发起更新通知触发CI自动构建动作。 CI完成持续集成构建后最终生成可用于部署的Docker镜像。推送Docker镜像到容器注册表。CD同步K8s更新配置触发部署服务。 K8s集群管理通过容器注册表和配置信息拉取Docker镜像。 完成容器实例创建并运作。 在这些步骤中读者可以看出步骤4及之前是前文CI持续集成流程中所讲述的内容步骤4之后是文本所讲述的内容。在整个流程中黄金管道的流水线能力仍是流程的核心通过流水线对流程的代码化完成镜像打包到镜像管理、镜像注册、应用发布、应用更新等多个使用场景的自动化。使用者通过脚本或代码依托流水线能力的调度贯穿部署、更新流程降低因手工操作带来的出错率同时将重复性的、枯燥的工作代码化将人力资源释放出来做更有价值的事提升了整体的工作效率。 2.3 总结 在企业内部构建持续交付、持续部署的平台能力时和持续集成能力的构建一样可以选择依托公有云厂商的能力来建设也可以在企业内部私有云的基础上自行建设。在构建时选择哪种方式主要依赖于其企业的基础设施资产是什么形态的如果是公有云上的资产为主建议依托云厂商能力来构建。反之则建议企业自建。在企业自建的过程中目前主要是以容器化技术去构建应用级持续交付及持续部署能力。 三、基于GitHubDocker的持续交付/持续部署流水线公有云 3.1 基于GitHubDocker的持续交付/持续部署操作流程示意图 这里继续使用GitHub平台的GitHub Actions功能在原有流程上添加持续交付/持续部署的流程其中步骤变化点有代码构建完成后添加容器镜像构建、镜像文件上传/注册、服务器部署等最终形成的流程示意图如下图所示 在这个方案里CI/CD流水线使用GitHub Actions容器镜像管理使用阿里云ACR配置管理使用GitHub ActionsK8s集群环境管理使用阿里云ACK。下面就跟大家一起来看看整个流程的具体实现。 3.2 GitHubDocker持续交付/持续部署流水线技术实现原理 3.2.1 添加Action模板 在前文中已经对GitHub Actions的使用和相关语法做了详细的介绍当需要持续交付/持续部署能力时只需要调整YAML文件定义CD流程中的各个操作即可。编写此文件时可以在GitHub手工添加Action模板如下图所示 3.2.2 构建Workflow流程 添加完毕后将得到文件名为alibabacloud.yml的模板文件如下图所示再基于此定制化修改为自己想要的Workflow流程即可。 当以Java SpringBoot应用程序为例仅需调整文件中的环境变量和代码构建部分内容即可如下即为需要修改的 当上述配置完成后GitHub Actions被触发时自动执行部署流程。大家可以在GitHub上对流程进行跟踪也可以通过阿里云的ACK跟踪流程执行结果。 四、基于JenkinsDockerK8s的持续交付/持续部署流水线 除了使用GitHubDocker构建持续交付/持续部署流水线外私有化平台建设的场景下使用JenkinsDockerK8s作为技术栈也是比较常见的。在这一小节中将为大家讲述基于JenkinsDockerK8s的持续交付/持续部署流水线实现。 4.1 JenkinsDockerK8s持续部署流程示意图 当选择私有化方案替代上节的GitHub Actions时在流程上并没有大的变化变化更多的是在技术实现上如代码管理使用GitLab、CI/CD调度使用Jenkins、镜像管理使用Harbor、容器集群管理使用K8s等。最终形成的流程示意图如下图所示 4.2 JenkinsDockerK8s持续部署流水线技术实现原理 基于这个方案一起来看看整个流程的具体技术实现。 4.2.1 安装KubeOperator 已经安装过K8s的读者想必对K8s复杂的安装过程较为熟悉如果对K8s不熟悉也没关系它不是本节的重点。想学习的读者推荐安装开源产品KubeOperator如下图所示 KubeOperator是飞致云开源的轻量级Kubernetes发行版它的安装非常简单在满足基本配置的基础上执行一键安装脚本即可。同时KubeOperator采用Terraform自动创建虚机采用Ansible作为自动化部署工具这也是和本书基础设施安全相关章节的内容一致。 4.2.2 Jenkins配置 4.2.2.1 安装Jenkins K8s插件 使用Jenkins管理K8s首先需要安装Jenkins K8s插件。登录Jenkins后依次选择【系统管理】→【插件管理】在搜索框中搜索kubernetes选择Kubernetes单击【安装】按钮完成后重启Jenkins即可如下图所示 4.2.2.2 配置K8s凭据 等插件安装完成重启Jenkins后接着需要配置K8s凭据。登录系统依次选择【用户】→【凭据】→【全局凭据】添加凭据类型推荐选择X.509 Client Certificate如下图所示 这里需要注意的是以下3项内容均来源于.kube/config文件需要登录K8s集群查看后填写如下 Client Key即.kube/config文件中client-key值对应的文件。Client Certificate即. kube/config文件中client-certificate值对应的文件格式为crt或pem。Server CA Certificate即. kube/config文件中certificate-authority值对应的文件格式同上。 4.2.2.3 配置K8s集群连接 凭据配置完成后接下来即可配置K8s集群连接了。依次选择【系统管理】→【管理节点与云】→【云配置】开始配置集群如下图所示 这里K8s集群相关配置内容比较多单击上图中的第二个输入框【Kubernetes Cloud details…】详细输入如下图所示内容 图中的各输入项含义如下 Kubernetes地址即Kubernetes服务地址一般填写Master节点IP地址加端口。Kubernetes服务证书key即前文提及的kube-ca.crt文件内容。Kubernetes命名空间即前文提及的kube-ca.crt文件内容。JNLP Docker Registry即自定义JNLP容器镜像地址用于Jenkins工作节点容器化如使用K8s插件Jenkins通过Job动态生成工作节点(Pod)并在结束后销毁容器。凭据即前文创建的certificate凭据。 除了上述参数之外还有Jenkins和Pod相关配置参数项如下图所示 除了Jenkins地址需要填写Jenkins Master地址之外其他的值可以默认。配置完成后即可以编写Jenkinsfile来操作Pipline。需要注意的是Jenkins调用Pod管理的ServiceAccount需要先在K8s集群上创建好。 4.2.2.4 Jenkinsfile 文件编写 Jenkinsfile的编写比较简单为了便于读者的理解这里以Jenkinsfile伪码的形式展示其基本结构其包含的操作步骤如下 拉取代码。编译单元测试。构建镜像文件。上传镜像仓库。发布到K8s集群。 此时Jenkinsfile伪码内容如下所示重点关注加粗部分的内容 当K8s的发布环境区分测试环境、准生产环境、生产环境时可以通过此方式完成不同环境的部署发布及回滚设置以满足灰度发布、蓝绿发布、滚动发布等发布要求。 4.2.3 总结 通过上述内容的介绍大家基本理解JenkinsDockerK8s持续部署流水线技术实现原理及其关键步骤但Docker、K8s、Jenkins等技术细节涉及的内容比较繁杂仍需要大家进一步学习其他资料以便在此基础上深入理解云原生技术与DevSecOps自动化实现的关系。后续有时间我会再整理发布跟个部署构建相关教程文档吧回头再说。。。。。。。 好了本次内容就分享到这欢迎大家关注《DevSecOps》专栏后续会继续输出相关内容文章。如果有帮助到大家欢迎大家点赞关注收藏有疑问也欢迎大家评论留言