简体   繁体   English

开发人员如何在一个庞大的在线 Saas 应用程序上添加新功能,尽管它正在运行?

[英]how do developers add new function on a massive online Saas application although it is running?

I want to know how developer continously develop a web application on cloud.我想知道开发人员如何在云上持续开发 Web 应用程序。 which software or which development environment they ae using?他们使用的是哪种软件或哪种开发环境? Is Docker correct answer? Docker 是正确答案吗? Thank you谢谢

This is an extremely open ended question, so I will give you a relatively open ended answer.这是一个非常开放的问题,所以我会给你一个相对开放的答案。 CI/CD isn't really a defined process, but typically people follow the same strategy. CI/CD 并不是一个真正定义的过程,但通常人们遵循相同的策略。

CI: CI:

  1. Develop and store code in Git or some repository在 Git 或某个存储库中开发和存储代码
  2. Execute unit test cases执行单元测试用例
  3. Build Source Code构建源代码

At this point, you have code that is being continuously tested and built.此时,您的代码正在不断测试和构建。 Now continuous delivery (CD) kicks in. This differs from company to company, but it may follow the below现在持续交付(CD)开始了。这因公司而异,但可能遵循以下

CD:光盘:

  1. Deploy Source Code to development integration testing server (DIT)将源代码部署到开发集成测试服务器 (DIT)
  2. Execute Automated test portfolio执行自动化测试组合
  3. Deploy Source Code to Stage or Pre Prod environment将源代码部署到 Stage 或 Pre Prod 环境
  4. Execute Automated test portfolio执行自动化测试组合

Now at this point in time you have your code fully tested and deployed to internal testing/stage servers.现在,您已经对代码进行了全面测试并部署到内部测试/阶段服务器。 As a company, you can decide whether your confidence level is high enough to implement continuous deployment or if you implement a change mgmt process.作为一家公司,您可以决定您的信心水平是否足以实施持续部署,或者您是否实施了变更管理流程。 continuous deployment is similar to continuous delivery EXCEPT you deploy the built application/service to production automatically with no gates in place.持续部署类似于持续交付,除了您将构建的应用程序/服务自动部署到生产中,而没有设置网关。 Then, you will run your test portfolio again against prod.然后,您将再次针对 prod 运行您的测试组合。 Do not do performance testing in prod (do this testing in stage typically)不要在 prod 中进行性能测试(通常在阶段进行此测试)

Product typically used for CI = Jenkins (open source, great community support) Product(s) typically used for CD = Puppet, Chef, Ansible, uDeploy通常用于 CI 的产品 = Jenkins(开源,强大的社区支持)通常用于 CD 的产品 = Puppet、Chef、Ansible、uDeploy

Disclaimer - please do not get into a conversation about which products are best used for which stage...I only know what I know;免责声明- 请不要谈论哪些产品最适合哪个阶段……我只知道我所知道的; and I know there are other tools to do CI/CD that I havent mentioned.我知道还有其他工具可以做 CI/CD,但我没有提到。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM