开源解决方案——Chef Habitat

一致地定义,将应用程序包内容描述为代码,并创建可交付给任何环境的通用工件

Chef Habitat

       Chef Habitat是一个开源解决方案,提供自动化功能,用于定义,打包和将应用程序交付到几乎任何环境,而不管操作系统或部署平台如何。Habitat使DevOps和应用程序团队能够:

1、建立跨所有应用程序和所有变更事件的连续交付管道;
2、创建可按需部署到裸机,VM或容器的工件,而无需任何重写或重构;
3、在整个开发和运营中扩展对敏捷交付实践的采用

优势

建立一致性

跨多种系统标准化应用程序打包
和部署实践

开发者倡导

消除了数千小时的开发人员分别配置
和编写本地测试环境的脚本

释放速度

简化发行和运行时流程,并启用全自动发行,
并在需要时能够回滚发行

通过可持续的应用程序运行手册自动化操作敏捷性

       Chef Habitat是获得专利的自动化工具,可使公司在所有应用程序和环境中对应用程序定义,打包和交付应用一致的方法。扩展连续交付需要不特定于工具或平台的一致模式。通过将as-code方法应用于应用程序定义和打包,Chef可以使应用程序团队摆脱底层工具和平台的陷阱。对于希望在其所有应用程序和平台上扩展连续交付规模的组织,Chef Habitat是不二之选。

定义

       Chef Habitat Studio是一个开发工具包,用于为任何应用程序创建自动化的构建和部署计划,然后在无尘室环境中对其进行测试。

     (1)定义如何使用PowerShell或Bash以及您选择的代码编辑器来构建,安装和运行应用程序。

     (2)将依赖项隔离到原子计划中,然后构建应用程序清单,该清单链接到所有直接和可传递的运行时依赖项,并提供可调整的指令以安装和运行该应用程序。

     (3)在GitHub上的Chef Habitat社区上利用数百个针对通用依赖项的预构建计划,例如.NET,jdk或gcc。

包裹

       栖息地将“应用程序清单”打包到一个不可变的工件中,称为“栖息地应用程序工件”(.HART)文件。可以导出工件以使其在零重构或重写的情况下在各种运行时中运行。

     (1)在本地Studio中创建一个程序包,或使用相同的命令和构建过程将其与任何自动化管道解决方案集成。

     (2)通过显式定义应用程序依赖项并仅将所需内容打包到应用程序中,从而简化审核和合规流程。

     (3)轻松导出到tarball,Docker或直接导出到容器注册表。

           (Azure容器注册表,Amazon Elastic Container Registry)

递送

人居管理器是一种轻量级代理,可在服务器,虚拟机或容器上/之内运行,并根据人居计划中定义的说明管理应用程序。任务通过称为生命周期挂钩的预设脚本进行定义,这些脚本作为应用程序定义的一部分包含在内。

(1)将应用程序按需部署并升级到任何环境。

(2)自动执行健康和合规性检查。

(3)对您的配置设置进行模板化,并在运行时根据需要进行更新。