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

wap网站开发需要多少钱铜陵做网站的

wap网站开发需要多少钱,铜陵做网站的,湖南省长沙市官网,网页游戏开服表265前言现代软件工程越来越复杂#xff0c;而开发效率随着软件复杂度增加呈指数型下降。为在提高开发效率的同时也能保证质量#xff0c;越来越多团队开始践行敏捷开发方法。持续集成是敏捷开发的重要实践之一。它倡导团队通过自动化构建工具频繁地验证软件可用性#xff0c;从…前言现代软件工程越来越复杂而开发效率随着软件复杂度增加呈指数型下降。为在提高开发效率的同时也能保证质量越来越多团队开始践行敏捷开发方法。持续集成是敏捷开发的重要实践之一。它倡导团队通过自动化构建工具频繁地验证软件可用性从而尽早发现集成错误并集中精力改善软件质量。本文将使用 CODING DevOps 工具链和腾讯云容器服务(下称 TKE)为 Ruby Sinatra 应用项目配置持续集成过程运行单元测试、构建 Docker 镜像、推送到制品库、部署到 K8s 集群以实现自动化构建、测试、发布、部署。可以看到这个 Web 应用项目的结构非常简单。然而随着项目规模的逐步增大、参与人员的不断增加构建、测试、发布过程变得越来越复杂。单靠开发人员在本地机器上人工手动进行集成变得愈发困难既消耗时间也分散精力团队的协作效率越来越低。而借助持续集成则可以自动化构建、测试、发布的过程将开发人员从重复的人力劳动中解放出来更专注于开发且更快地发现和解决问题。在继续下面的步骤前请确保在 CODING 项目中开启了“持续集成”和“制品库”功能。创建制品库如今容器化部署已经是大势所趋无论是伸缩性还稳定性都相较于传统的裸机部署提升不少。本文的应用也选择了容器化部署。容器化部署最后的发布产物则是容器镜像故需要创建用于存放发布产物的 Docker 制品库。设置制品库凭证K8s 集群从制品库拖取镜像需要访问凭证这里使用 CODING 制品库自动生成的访问令牌。这里要注意的是访问令牌生成后需要立即复制下来否则关闭访问令牌的窗口后将无法再次查看。生成访问令牌后会得到一条 Docker 仓库的登录命令例如docker login -u release-1587202817568 -p 2f4f129287b3319c52f760635fxxxxxxxxxxxxxx coding-public-docker.pkg.coding.net其中提供了 3 部分信息仓库域名coding-public-docker.pkg.coding.net用户名release-1587202817568密码2f4f129287b3319c52f760635fxxxxxxxxxxxxxx在 TKE 的集群中创建 Secret输入上面获得的仓库访问凭证。设置集群凭据要通过 CODING 持续集成触发 K8s 集群部署过程需要在 CODING 中录入集群凭据以便在 CODING 持续集成中使用 kubectl 命令实现 K8s 集群控制。在 TKE 控制台中找到“集群APIServer信息”复制其中的“Kubeconfig”。在 CODING 的凭据管理中录入 Kubeconfig。创建部署为方便将应用部署 K8s 集群中需要先创建 Deployment 工作负载之后就可以通过 CODING 持续集成反复运行 kubectl deployment patch ... 命令来将新构建出来的应用镜像部署到 K8s 集群上。由于现在还没有构建本文中 Ruby Sinatra 应用的 Docker 镜像这里选用 nginx r 镜像来代替确保 Deployment 能正常跑起来。创建构建计划这里选择预置内容较少的“自定义构建过程”模板之后在这个模板的基础做详细的配置。回到“凭据管理”中编辑刚录入的 K8s 凭据在“凭据授权”列表里勾选刚创建的构建计划并保存。配置构建流程这里把 Ruby Sinatra 应用持续集成过程分成 6 个阶段开始检出运行单元测试构建 Docker 镜像推送到制品库部署到 K8s 集群从模板创建的构建计划已经包含了“开始”和“检出” 2 个阶段。其中“检出”阶段可以不用修改直接使用。下面对其他阶段进行完善。“开始”阶段此阶段是默认生成的所有模板都会包含这个阶段。在这个阶段中可以设置一些全局使用的参数如“构建基础环境”、“环境变量”等。在这里需要添加 3 个环境变量它们会被后面阶段引用。CODING_DOCKER_REG_HOST制品库主机用于登录制品库。DOCKER_IMAGE_NAMEDocker 镜像名称用于构建和推送镜像。TKE_CLUSTER_CREDENTIAL_IDTKE 集群凭据 ID。上述环境变量的值是根据上面创建的 Docker 制品库来设置的可以在制品库指引中查看相关信息。注意页面上的 Docker 镜像名称不完整需要把 替换成实际的值如果值为 ruby-sinatra则镜像名称就是 coding-public-docker.pkg.coding.net/ruby-sinatra/release/ruby-sinatra。而 TKE 的集群凭据 ID 则可以在凭据管理中查看。“运行单元测试”阶段在这个阶段里将运行代码中已经写好的单元测试代码。整个过程会在 Docker 容器中进行这样可以节省准备运行环境的时间也可以与后面构建 Docker 镜像时使用的基础环境保持一致。首先给对模板创建出来的“3-1 自定义构建过程”删除掉然后添加名为“运行单元测试”的阶段之后在这个阶段里添加“执行 Pipeline 脚本”的步骤并在右边的输入框中输入运行单元测试的脚本。这里使用 Jenkins Pipeline 来调用 docker run 命令来运行单元测试。docker.image(ruby:2.6).withRun(-v $(pwd):/app -w /app) { c -sh bundle installsh rake test}“构建 Docker 镜像”阶段接下来是配置 Docker 镜像的构建过程同上一步类似添加名为“构建 Docker 镜像”的阶段在阶段里添加“执行 Pipeline 脚本”的步骤在脚本输入框中输入脚本。这里使用了 Jenkins Pipeline 来构建 Docker 镜像。docker.build(${env.DOCKER_IMAGE_NAME}:${env.GIT_BUILD_REF})其中的镜像名称使用了 1-1 阶段设置的环境变量。而标签则使用内置的环境变量 GIT_BUILD_REF其值对应“构建对应的 Git 修订版本号”。内置环境变量的具体说明请见 https://help.coding.net/docs/devops/ci/env.html“推送到制品库”阶段这是构建过程的最后一个阶段和上一个阶段类似添加名为“推送到制品库”的阶段在阶段里添加“执行 Pipeline 脚本”的步骤在脚本输入框中输入脚本。这里使用了 Jenkins Pipeline 来推送镜像到制品库。docker.withRegistry(https://${env.CODING_DOCKER_REG_HOST}, ${env.CODING_ARTIFACTS_CREDENTIALS_ID}) {docker.image(${env.DOCKER_IMAGE_NAME}:${env.GIT_BUILD_REF}).push()}脚本中用到了在 1-1 阶段定义的环境变量CODING_DOCKER_REG_HOST 和 DOCKER_IMAGE_NAME。还有两个内置环境变量CODING_ARTIFACTS_CREDENTIALS_ID 和 GIT_BUILD_REF。其中 CODING_ARTIFACTS_CREDENTIALS_ID 为制品库私钥凭据用于登录制品库。“部署到 K8s 集群”这是构建过程的最后一个阶段和上一个阶段类似添加名为“部署到 K8s 集群”的阶段在阶段里添加“执行 Pipeline 脚本”的步骤在脚本输入框中输入脚本。这里同样使用了 Jenkins Pipeline 来调用 docker push 命令来运行单元测试。withKubeConfig([credentialsId: ${env.TKE_CLUSTER_CREDENTIAL_ID}]) {sh kubectl patch deployment ruby-sinatra --patch {\spec\: {\template\: {\spec\: {\containers\: [{\name\: \ruby-sinatra\, \image\: \${env.DOCKER_IMAGE_NAME}:${env.GIT_BUILD_REF}\}], \imagePullSecrets\: [{\name\: \ruby-sinatra-reg\}]}}}}}脚本中用到了在 1-1 阶段定义的环境变量TKE_CLUSTER_CREDENTIAL_ID。配置完成后别忘了保存这是完成后的完整流程。此时已经可以通过“立即构建”来手动触发持续集成过程了。整个流程运行完成后可以查看每一步的运行日志。配置触发规则CODING 持续集成提供了多种触发规则如果默认配置无法满足需求还可自行配置所需的规则。查看构建产物构建计划运行成功后可以到 CODING 制品库查看持续集成的构建产物。查看部署结果构建计划运行成功后可以到 TKE 控制台查看 Deployment 的部署状态。简单的、自动化的部署可以用本文的方法来配置一个自动化的部署阶段。对于体系化、需要考虑回退、负载流量控制、发布时间窗口、更新策略等则可以使用 CODING 持续部署。
http://www.sadfv.cn/news/161422/

相关文章:

  • 四川 优质高职建设网站沈阳网站制作定制厂家
  • 什么是自主设计网站wordpress安装字体
  • 网站建设ppt课件网站开发与管理心得体会
  • 网站怎么做显得简洁美观怎么提高网站收录
  • 网站怎么添加js广告位网页制作教程 赵丰年
  • 网站外链分析怎么做深圳网站设计按天收费
  • 建站空间通化好的网站建设的公司
  • 做网站广告送报纸广告深圳网站建设制作开发
  • 装修设计那个网站好wordpress如何设水印图片
  • 网站性能需求仙桃seo公司
  • 建设银行的官方网站设计室内效果图设计
  • 郑州哪家公司做网站建立医防融合工作的机制不包括
  • 百度统计网站速度诊断工具网站建设常用软件
  • 云速建站可以建个人网站吗怎么做seo信息优化
  • 域名申请后怎么建网站网络规划与设计师
  • 怎么做网站作业考研培训班哪个机构比较好
  • h5制作网站公司义乌app制作公司
  • 网站的模块重庆vi设计公司
  • 镇江企业网站排名优化怎么新建一个网站
  • 深圳 赢客创想网络技术股份有限公司 网站建设小程序制作免费吗
  • 杭州建设企业网站的清溪仿做网站
  • 医疗网站平台建设方案建e网室内设计网现代轻奢
  • 网站下载到本地广州冼村
  • 河南建设工程招标网站wordpress 随机范围点击量
  • 上海建站网重庆荣昌网站建设
  • 友情链接有哪些信息流优化师培训机构
  • winserverfrp可以做网站吗阳江招聘网最新招聘找工作
  • 南京协会网站建设wordpress新建页面连接无法访问
  • 优质做网站照片做视频的软件 模板下载网站
  • flash网站php源码wordpress.net