项目构建工具阿凡达、Buildout、Cabal、Smooth Build介绍

以下为你介绍的项目构建工具都可用在Linux系统上:阿凡达(基于软件包的应用快照克隆系统)、Buildout(基于Python的构建工具)、Cabal(Haskell 构建和打包系统)、Smooth Build(构建工具)。

1、阿凡达(基于软件包的应用快照克隆系统)

阿凡达是一个基于软件包的应用快照克隆系统,是一个用于集群部署和管理的利器,节约工程师时间的神物。

阿凡达克隆系统解决了什么问题:

1].能将已部署的一个应用节点做镜像快照,然后用此快照进行批量部署。

2].解决了整体磁盘镜像需要大容量存储和大量个消耗带宽的问题,阿凡达快照基于文本文件,快照文件大小只有几十到几百K字节,有效减少了集群管理的IO/带宽消耗。

3].解决了集群部署的历史记录问题,使用阿凡达部署集群可以进行整个集群的部署回滚。      

系统特色:

1].部署方便——对集群环境要求极低,节点系统 Bash >= 3.0,Perl >= 5.0 即可使用。

2].节约资源——克隆原理基于软件包管理器,克隆整个应用无需存储完整的应用和操作系统实体数据,极大的节省了存储空间;传输数据量为软件包的差异化增量,能有效减少克隆应用时所消耗的带宽。

3].扩容简单——集群管理可扩容性强,可通过增加软件包下载服务器镜像方式轻松扩容。

4].性能强劲——并发能力强,占用运维资源低,通讯简单,单中心服务器可支撑10个以上不同地域每机房主机数量在2000左右的机房。

5].管理简单——兼容Windows/Linux/MAC的SVN GUI工具、多用户管理、权限控制、快照继承、多人协作让管理工作得心应手,如虎添翼。

部署场景示例:

集群扩容:

有没有要在短时间内扩容成百上千甚至万台应用节点的经历?自编脚本加并发工具仍然手忙脚乱,出现失误就是悲剧灾难,尝试用全新的方式扩容你的集群吧。

集群回滚:

新版上线后出现重大问题要求回滚?天啊,这么大的集群要恢复到上一次状态简直就是抽筋扒皮。看看用阿凡达的方式做这件事有多么的精准和简单吧!

初始化环境:

开发人员需要一套标准的开发环境,身为系统管理员你会反复做这样的乏味而简单的工作吗?当然不!直接将阿凡达接入系统克隆交付流程,你会忘记这曾经是一份工作!

应用环境的传递:

开发工程师做出了一个复杂的应用,要安装好多软件和修改好多系统配置,身为测试和部署工程师你一定为重构一摸一样的应用而花费大量时间,花费这样的时间真的值得吗?使用阿凡达进行工作结果的传递媒介,你会发现快速构建和瞬间学习变为了现实!

快速入门:

抓取快照:

 #avatar -n my_namespace

克隆应用:

#walle -n my_namespace

2、Buildout(基于Python的构建工具)

Buildout是一个基于Python的构建工具,通过一个配置文件,可以从多个部分创建、组装并部署你的应用,即使应用包含了非Python的组件,Buildout也能够胜任。Buildout不但能够像setuptools一样自动更新或下载安装依赖包,而且还能够像virtualenv一样,构建一个封闭隔离的开发环境。

Buildout是用于自动化软件组装的工具,特点如下:

运行构建工具来构建软件。

应用软件和模板以生成配置文件和脚本。

适用于从开发到生产部署的所有软件阶段。

基于核心原则:重复性、组件化、自动化。

下载地址:https://gitee.com/mirrors/buildout

3、Cabal(Haskell 构建和打包系统)

项目构建工具阿凡达、Buildout、Cabal、Smooth Build介绍

Cabal是一个用于构建和打包Haskell库和程序的系统。它为程序包作者和分发者定义了一个通用接口,以可移植的方式轻松构建其应用程序。Cabal是用于分发、组织和分类Haskell库和程序的大型基础结构的一部分。

术语cabal可以指:cabal-the-spec(.cabal文件),cabal-the-library(理解.cabal文件的代码)或cabal-the-tool(提供cabal可执行文件的cabal-install软件包)。通常,人们在说“cabal”时指的是“cabal-the-tool”。

安装和升级cabal的说明:

要安装cabal,请下载源代码二进制文件进行安装。

如果您已经有了cabal可执行文件,则可以通过运行以下命令对其进行升级:

cabal install Cabal cabal-install 

有时,较旧的安装版本仍在程序$PATH上,您可以使用以下命令检查是否正在运行最新版本。如果与上面的cabal-install命令的输出不匹配,则需要对其进行更新:

cabal --version

更新故障排除:

在尝试任何其他操作之前,如果您已经有了Cabal的较新版本,则可以使用v2/new命令。请尝试以下操作:

cabal new-install Cabal cabal-install 

如果可行,请使用安装的版本更新路径上的cabal命令。

错误:cabal: The following packages are likely to be broken by the reinstalls: ...

如果仍要安装,请使用--force-reinstalls。

如果您的程序包存档进入损坏状态,可能会发生这种情况。如何解决此问题取决于情况。有时,使用--force-reinstalls重新运行命令是可行的,而其他时候,您必须删除整个程序包归档文件并重新开始。

下载地址:https://gitee.com/mirrors/cabal

4、Smooth Build(构建工具)

Smooth Build 是一个构建工具,提供一个函数型语言用来描述构建过程,简单而且可读性强。一个最简单的 Java 项目构建脚本就像 "app.jar: files("src") | javac | jar;" 构建的内容使用 SHA1 进行哈希缓存和索引,因此不会对同一个资源构建两次。

它具有细粒度,积极的缓存功能,可确保同一台计算机上不会发生两次计算,从而显着减少了构建时间。

下载与安装:

从发布页面下载最新的smooth-xxx.zip文件并解压缩,它包含一个“smooth”目录。

下载Java Development Kit版本11(或更高版本)并将其安装在系统上,因为用Java实现了Smooth,所以需要它。

可以通过从smooth.zip解压缩的smooth/smooth脚本来运行Smooth。

您可以将解压缩的“smooth”目录添加到系统PATH,以使任何目录中的目录都可以平滑运行。

下载地址:https://gitee.com/mirrors/smoothbuild

注明

以上就是项目构建工具阿凡达、Buildout、Cabal、Smooth Build的介绍内容,这些项目构建工具都能使用在Linux操作系统中。

栏目相关文章