`
juvenshun
  • 浏览: 1588551 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

你最常用的构建和发布管理工具是什么?

阅读更多

最近Eclipse社区进行了一项调查,关注社区如何使用Eclipse和其它开源软件,目前调查的结果已经发布,详细的结果涵盖了IDE,操作系统,版本控制工具等等,具体可以查看这个链接:

 

http://www.eclipse.org/org/press-release/20090527_survey09.php

 

作为Maven的忠实用户,我自然比较关注构建工具这一块,这是我看到的报告:

 

 

这个图表本身有就有一些问题,持续集成工具如CruiseControl和Hudson与构建工具Maven和Ant本身是没有冲突的,它们是互补的。抛开这个不谈,我们可以看到Ant以33.3%的得票率远超得票率为18.0%的Maven。这当然是可以理解的,Maven和Ant相比还比较年轻。此外,该图中有一个Other(specify)项,我点击show replies后看到,其中有一大部分make,shell之类的纯脚本。当然,我们也看到21.7%的None,也就是说还有很大部分人完全不用构建工具。

 

这是Eclipse社区的调查,这里我可以简单的总结下,约1/3的人在使用Ant构建项目,约1/5的人在使用Maven构建项目,还有一小部分不到1/10的人在使用make和shell,约5/1的人不用任何工具构建项目。当然这还不完整,由于统计本身的缺陷我无法得知其它人用什么工具。不过总这个简单的结果我们已经能够清楚的看到一些现状,Ant作为成熟流行的java构建构建工具仍是主流,Maven作为新一代构建工具也得到了广泛的认可,还有一些古董在用Make/shell。而不借助工具执行纯手工构建还大有人在。

 

这份调查是不分国界的,其中中国参与人数为3.1%。我相信在中国,统计出来的数据结果肯定比这个数据差很多,可能不用任何构建工具的人会超过一半。虽然我很想了解,但我根本无从得知有百分之多少的人在用Maven。5%?呵呵,希望我的一些工作能帮助增加一两个百分点。

 

此外再扯一下持续集成工具,这里主要有CruiseControl,Hudson,和Bamboo。前两者是开源的,而Bamboo对于商业使用是要收费的,占用率低一点也可以理解。Hudson最为流行,用户为CruiseControl的两倍,这也能理解,毕竟易用性方面Hudson强很多。在自动化构建的基础上进行持续集成,是重要的敏捷实践之一。

 

总之,好的工具能助你事半功倍,有那么多优秀的开源工具,我们应该衷心感谢这些工具背后的程序员们。

15
3
分享到:
评论
6 楼 bill4j 2009-09-19  
woaiwofengkuang 写道
不明白为什么非要用ANT之类的工具呢。它的存在到底给我们带来了哪些好处。你用eclipse来开发项目。当创建好一个web工程时。你的的项目目录结构已经予定义好了。而剩下的工作就是划分包结构与加入所要使用的第三方jar包了。你要编译eclipse可以自己动帮你编译。你要发布到webserver eclipse同样可以帮你。
你ANT干嘛呢。实在是找不出非用它不可的理由。

那是因为你和我都一样,都做的是小项目,不需要每日构建,持续集成等,但还是可以用来做一些工作的,如进行数字签名、打包等。
5 楼 juvenshun 2009-09-17  
woaiwofengkuang 写道
不明白为什么非要用ANT之类的工具呢。它的存在到底给我们带来了哪些好处。你用eclipse来开发项目。当创建好一个web工程时。你的的项目目录结构已经予定义好了。而剩下的工作就是划分包结构与加入所要使用的第三方jar包了。你要编译eclipse可以自己动帮你编译。你要发布到webserver eclipse同样可以帮你。
你ANT干嘛呢。实在是找不出非用它不可的理由。

没有构建工具怎么做到自动化呢?一次又一次的点鼠标既费力又容易出错。没有自动化构建,又何谈持续集成?(如果你不知道持续集成,请查询相关资料)
4 楼 woaiwofengkuang 2009-09-17  
不明白为什么非要用ANT之类的工具呢。它的存在到底给我们带来了哪些好处。你用eclipse来开发项目。当创建好一个web工程时。你的的项目目录结构已经予定义好了。而剩下的工作就是划分包结构与加入所要使用的第三方jar包了。你要编译eclipse可以自己动帮你编译。你要发布到webserver eclipse同样可以帮你。
你ANT干嘛呢。实在是找不出非用它不可的理由。
3 楼 alanlyp 2009-09-15  
学习了,需要更多的传道者。
2 楼 popoer 2009-09-14  
老大,等着你的书哦!
1 楼 thinke365 2009-09-13  
顶老大。。。

相关推荐

    工具箱(java开发中常用工具类,web工程中常用的Filter等).zip

    API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...

    一款Android快速开发框(常用工具箱,控件,刷新,数据适配器).zip

    API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...

    Java后端开发库,涵盖:常用工具类、SPI扩展、分布式锁、限流、分布式链路追踪等。.zip

    API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...

    基于python Flask 框架开发的微信小程序后端项目,用于构建小程序商城后台

    基于python Flask 框架开发的微信小程序后端项目,基于原生的 Flask 构建 RESTful API 更灵活的 API文档生成方式(可带 ...Navicat(数据库可视化管理工具) 开发环境搭建 MySQL安装、运行,数据库的导入 Python 3.6

    持续集成开源工具

    与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git ...

    政企信息管理系统BAMS v2.0.zip

    BAMS提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、机构、区域)以及其它常用小工具等。另外还提供一个基于本基础框架的 代码生成器 ,为你生成基本模块代码,...

    AndroidBase android 应用开发框架.zip

    API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...

    最新SpringBoot项目疫情防控期间某村外出务工人员信息管理系统.zip

    该项目是一个疫情防控期间专为管理某村外出务工人员信息而设计的管理系统,它基于SpringBoot框架构建,旨在帮助村委会或相关管理部门高效地跟踪和管理外出务工人员的基本信息及疫情防控相关数据。 1. **技术架构**...

    基于spring boot搭建的web基础框架.zip

    API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...

    AcrobatomaticBuildSystem:基于Gmake的项目管理和构建系统。 主要特点

    它是由posix之类的系统(包括cygwin和mingw)(包括cygwin和mingw)中的一些常用命令完成的,这些命令可以处理一些高级功能,例如下载依赖项,运行测试,打包和发布构建。 这些功能包括: 多语言支持:C / C ++,...

    android,java必备知识,面试知识,工作学习记录.zip

    API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...

    UML课程设计—图书管理系统.docx

    图书管理系统可行性分析 随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多...

    高级软件架构师复习提纲

    33、发布管理角色需要参与驱动的计划包括:安全性计划/部署计划/采购和设施计划/试运行计划 34、好的项目远景能达到什么作用?引导团队朝共同的方向前进/简化决策的制定过程,确保决策的一致性/激励团队/强化解决...

    ASP+access校园新闻发布管理系统(thesis+源代码+任务书+说明+replyPPT).zip

    项目是基于ASP.NET的Web应用程序开发,旨在构建一个高性能、可扩展和可靠的在线平台。我们将使用ASP.NET MVC框架和C#编程语言来实现这个项目。 ASP.NET MVC是一种成熟的开发框架,它采用模型-视图-控制器的设计模式...

    用于Spring Cloud发布流程的工具(95分以上课程大作业).zip

    SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,...

    Dcat Admin v1.0.0 发布 – 对后端开发者友好的高颜值后台系统构建工具,简单高效,开箱即用

    Dcat Admin是一个基于laravel-admin二次开发而成的后台系统构建工具,只需很少的代码即可快速构建出一个功能完善且颜值极高的后台系统。内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码,对后端...

    JAVA 开发环境 Java SE Development Kit (JDK) 16.0.1 x64 免费下载.zip

    Java 运行时环境(JRE)允许您执行 Java 应用程序,组件和小程序,而 Java 开发套件(JDK)提供了一套全面的工具,供程序员构建,运行,调试甚至记录 Java 代码。 您还可以访问 JRE 的 Java 虚拟机(JVM)组件以及...

    Docker学习文档,全面介绍Docker技术

    同时,还介绍了如何使用Docker进行应用程序的构建、打包和发布,以及如何使用Docker进行持续集成和持续交付等方面的内容。 最后,该文档还介绍了Docker的安全性和最佳实践,包括如何保护容器的安全、如何处理容器...

    java11安装包正式版

    JAVA JDK 11软件新增Epsilon 垃圾收集器和lambda 参数的局部变量语法,可以有效的提高开发者的生产效率和Java应用程序的管理。 新的Java编译器API允许从Java应用程序内部对Java源程序进行编译。在编译期间,应用...

Global site tag (gtag.js) - Google Analytics