**CI(Continuous integration,持续集成)**是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。
CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。
为什么您的团队需要CI / CD工作流程 持续集成 1.尽快发现错误: 在开发人员重新思考的同时解决问题 2.减少集成问题: 更小的问题更容易消化 3.避免复杂的问题: 使团队更快,更自信地发展 持续交付 1.确保每个更改都是可发布的: 在完成之前测试所有内容,包括部署 2.降低每次发布的风险: 使发布“无聊” 3.更加频繁地交付价值: 可靠的部署意味着更多的发布 4.紧密的客户反馈循环: 快速而频繁的客户对变更的反馈
2.1 Jenkins简介
Jenkins是一个开源的持续集成工具,使用Jenkins搭建持续集成环境,可以进行自动构建、自动编译和自动部署,非常方便。它提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更重要的业务逻辑实现上。同时Jenkins还能监控集成中存在的错误,提供详细的日志文件和提醒功能
以下是使用Jenkins的一些理由:
1.是所有CI产品中在安装和配置上最简单的
2.基于Web访问,用户界面非常友好、直观和灵活
3.拥有大量的插件。这些插件极大的扩展了Jenkins的功能,它们都是开源的
简单的说,Jenkins就是-个Web应用程序,这个程序的作用就是提供持续集成所需的所有功能
官网:https://jenkins.io/ 官方文档:https://jenkins.io/doc/ 中文官方文档:https://www.jenkins.io/zh/
2.2 类似工具: 12个可以替代的工具: https://cloud.tencent.com/developer/article/1590660
1.中文官方文档:https://www.jenkins.io/zh/下载,下载windows和linux通用的war包 2.下载完后把它部署到你的tomcat上运行:放到tomcat的webapps目录下,启动tomcat(windows下双击startup.bat),然后访问:localhost:8080/jenkins 。 若出现: 需要你进入jenkins的工作目录(.jenkins/),打开-----hudson.model.UpdateCenter.xml将 url 中的 https://updates.jenkins.io/update-center.json更改一下:
http://mirror.xmission.com/jenkins/updates/update-center.json # 推荐http://mirrors.shu.edu.cn/jenkins/updates/current/update-center.jsonhttps://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json然后重启tomcat服务
1.版本控制插件 Git plugin 2.Deploy to container Plugin
系统设置 Jenkins Location: 邮件通知:
Global Tool Configuration JDK ,Git,Maven 2.2.3 管理用户
创建一个新任务: Jenkins build时有时候报Error fetching remote repo ‘origin’,网上都说是git权限问题,试了之后也没有用。清理工作空间就对了。
黑马教学视频:https://www.bilibili.com/video/BV1Tt411A7hF/?p=4