主要观点:介绍了持续交付(Continuous Delivery)的过程及相关内容,包括不同类型的软件测试、持续集成、交付和部署的区别、为何需要持续交付以及使用 Jenkins 和 Tomcat 实现持续交付管道等。
关键信息:
- 持续交付是代码变更自动构建、测试并准备发布到生产环境的过程。
- 软件测试有黑盒测试(关注输出)和白盒测试(考虑内部机制),具体包括单元测试、集成测试、功能/验收测试、系统测试、压力测试和 beta 测试等。
- 持续集成是每次代码提交都进行构建和测试,但未准备好发布;持续交付是应用可随时部署到生产环境;持续部署是自动部署。
- 以一个大型项目为例说明仅靠单元测试不够,需引入自动化验收测试,构建持续交付管道以确保应用在生产环境中无缝部署。
- 使用 Jenkins 创建持续交付管道,包括从 GitHub 获取代码、编译源代码、单元测试生成 JUnit 测试报告、打包成 WAR 文件并部署到 Tomcat 服务器等步骤。
重要细节: - Jenkins 可配置为每 5 分钟轮询 GitHub 仓库代码变更,构建任务可分解为多个阶段,如 Maven 构建周期的各个阶段。
- Jenkins 能处理 JUnit 测试报告,显示测试结果和趋势,跟踪测试运行时间。
- 在 Jenkins 中添加 Tomcat 服务器凭证用于部署 WAR 文件,可通过创建管道视图来测试整个持续交付流程,每 5 分钟若代码有变更则整个管道会执行。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。