如何将公司的代码上线到生产环境?

步骤 1:首先,产品经理会根据产品需求撰写需求计划。

通常一个需求计的结构是

– 作为一个(As a)XXX 用户 
– 我想要(I want) 增加/修改/移除 YYY 功能
– 这样的话(So that)提升/降低/改善

这个过程可能会使用到像 Jira 这样的项目和问题跟踪工具,以便于需求管理和团队协作。

步骤 2:开发团队会从待办事项中选取这些需求计划,为其安排一个两周左右的开发周期。

这个过程一般被称为 Sprint Planning,在敏捷开发流程中非常重要,通常使用 Scrum 或 Kanban 来管理

步骤 3:开发人员会将他们的代码提交到 Git 仓库中。

使用 Git 进行版本控制,可以有效地管理代码和追踪每一次的修改历史。

步骤 4:代码提交后,Jenkins 会自动进行构建。

Jenkins 是一个开源的持续集成/持续部署工具,可以自动化各种任务,比如代码构建、测试和部署。

此时,代码需要通过单元测试、代码覆盖率的标准,以及 SonarQube(代码质量检测工具) 的检查门槛。

步骤 5:当构建成功后,这个版本会被保存在Artifactory中,并被部署到开发环境进行测试。

Artifactory 是一个企业级的工件存储库,用于二进制文件管理。

如果是基于Docker虚拟化技术的服务端,会build成虚拟化成 Image ,这样可以直接部署到K8s,如果不是虚拟化的服务端或者客户端的Release会有所不同,会保存打包后的文件。

步骤 6:可能有多个团队同时进行开发,他们各自的功能需要独立进行测试,因此这些功能会被部署到两个测试环境,即 QA1 和 QA2。

这种多环境的测试策略可以确保各个模块的独立性和完整性。

步骤 7:质量保证团队会在这些测试环境上进行功能测试、回归测试以及性能测试。

这一步可以使用各种测试工具,如 Postman(用于 API 测试),JMeter(用于性能测试)等。

步骤 8:一旦通过了 QA 团队的测试,这个版本会被部署到 UAT 环境中,由开发团队、测试团队和产品经理共同完成用户验收测试。

UAT,(User Acceptance Test),用户接受度测试即验收测试,UAT 环境主要是用来作为客户体验的环境。有时候也可以用测试环境替代。

步骤 9:只有在 UAT 测试全部通过后,这个版本才会被视为正式的发布版本,按照计划上线到生产环境。

为了降低风险,我们可能采取分批发布或金丝雀发布(Canary release)等策略。

“为什么叫金丝雀发布呢,是因为金丝雀对矿场中的毒气比较敏感,所以在矿场开工前工人们会放一只金丝雀进去,以验证矿场是否存在毒气,这便是金丝雀发布名称的由来。”

通过在线上运行的服务中,新加入少量的新版本的服务,然后从这少量的新版本中快速获得反馈,根据反馈决定最后的交付形态。

这个过程中,可以使用 Spinnaker 这样的持续交付平台来管理多阶段的发布过程。

步骤 10:运维团队负责生产环境的稳定性和监控。

他们使用了 ELK(Elasticsearch、Logstash 和 Kibana)、Prometheus 和 Skywalking 等工具来分析日志和追踪系统性能。

这些工具可以帮助运维团队及时发现和解决生产环境中的问题。

若发现问题,他们会及时通报给 QA 和开发团队,团队会优先处理这些问题。

简单来说就是:计划–》开发–打包–》测试–》发布 

如何将公司的代码上线到生产环境?

如何将公司的代码上线到生产环境?

原文始发于微信公众号(程序员阿凯):如何将公司的代码上线到生产环境?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/174356.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!