发布与部署区别
DevOps已经火了一段时间,那么DevOps中的发布(Release)与部署(Deploy)有什么区别呢?从字面上感觉好像有区别,但仔细一想好像发程序的过程又差不多。下面我们来分析一下他们之间的区别。
定义
发布:发布是指软件或系统某些功能需要提供或呈现给用户。发布过程中通常会进行构建、测试、打包、发布操作。强调的是把软件功能呈现给用户。
部署:部署是指软件或系统安装在某个特定的环境。部署过程中通常会把打包好的程序安装到指定的环境上,同时安装软件的依赖、配置环境变量、配置软件参数及配置操作系统参数。如果从开始算起它也需要把源代码构建、测试、打包、部署。强调的是安装、部署软件。
小结:
发布强调的是把软件功能呈现给用户。部署强调的是安装、部署软件。
常用的工具
发布:
- Jenkins
- Docker
- Kubernetes
- Bamboo
- TeamCity
部署:
- Jenkins
- Docker
- Kubernetes
- Ansible
- Puppet