首页 > 解决方案 > 使用持续集成和持续部署的好用例是什么?

问题描述

我浏览了几个用于持续集成(以及持续交付和部署)的可用资源,例如:

我的问题是

标签: continuous-integrationautomated-testscontinuous-deploymentcontinuous-delivery

解决方案


让我们尝试使用一个非常简化但不一定正确的真实示例:

我在一家开发 Android 应用程序的公司工作。目前我们必须开发一个应用程序,这只是一个相当小的项目,所以只有我和另一位同事在应用程序上工作。

由于我们是一流的开发人员,我们当然会编写测试,并且只希望我们的代码develop在应用程序实际编译并且我们所有的测试都是绿色的时候到达分支。

为了自动化这个重复的任务,我们使用像Jenkins(或者像Bamboo这样的其他东西)这样的自动化/连续服务器,并创建一个工作流来构建我们的项目代码,并在我们尝试将任何代码提交到develop分支时运行我们的测试。只有构建成功并且所有测试都是绿色的,我们的代码才会被集成develop分支中。

--> 我们正在使用持续集成,耶!

现在,几个月过去了,我们决定我们的应用已经准备好发布给 Play 商店的用户了。

我们从develop分支中获取我们当前(并希望经过彻底测试)版本的应用程序的代码,并将其复制到名为release.

release分支用于第二个 Jenkins 工作流,现在它与我们的第一个工作流相同:它从这个分支构建代码并针对它运行测试。

然后我们需要在新的 Jenkins 工作流程中添加另一个步骤。当我们的应用程序代码成功构建并且所有测试都为绿色时,我们希望应用程序自动部署/上传到 Play 商店,以便用户可以下载并安装到手机上。

--> 我们正在使用持续部署,耶!


推荐阅读