1、软件开发过程
- 开发过程中最好有以下这3个保持:
- 持续部署:自己的代码不停滴再写,要持续滴部署自己的代码到服务器上,并且可以运行!
- 持续集成:自己的代码部署且能运行后,还需要集成别人的代码,整体观察是否可以运行!
- 持续交付:上面两步保证自己的代码没问题,以及整体代码没问题,代码都能运行,但是实际上却不符合产品的需求,所以这个就是持续把代码功能持续交付给产品人员验收!
- 总之一句话:不要总是想憋大招,一定要写一点就测试一点,就交付一点儿! 这样不断地进行小版本的迭代,尽量让已经做的工作是有效的,尽量减少返工。
好处:
- 降低项目整体风险
- 减少重复过程,及时发现问题
- 任何时间,任何地点生成可部署的软件
- 增强项目的可见性, 不停滴对整体项目有充足的认识
那么问题就来了:
- 若果是在多人合作的项目中,想要做到持续部署、持续集成、持续交付:
- 持续部署:需要把自己的代码不停滴打包,运行,以测试自己的代码;
- 持续集成:需要不停滴把版本控制系统(例如git)中的代码拉取到本地,然后打包,运行,已测试代码整体;
- 以上两个步骤可能再自己本地也能实现,也能做起到测试代码的效果;但是持续交付就比较麻烦了,因为你要把代码部署到产品人员能看到的服务器上才行。
- 持续交付:需要把自己的代码推送到远程,在把远程的代码打包,部署到相应的服务器上。
- 以上这些重复步骤会很繁琐,会消耗大量的时间与精力:
所以我们想的就是,能不能有个工具,能自动滴帮我们做到这些:
我提交一个代码,这个工具就实时监测到有新代码提交,然后就自动获取最全最新的代码,然后自动打包,然后自动部署到指定服务器上! 而我们需要做的就只有一件事: "提交代码"!
- 总之一句话:我们就想要一个"一提交新代码,然后服务器上自动运行最新代码"的这么一个工具!
2、Jenkins
持续集成工具:
jenkins+svn 环境搭建:略
jenkins+git 环境搭建:略