ABSTRACT
The uptake of Open-Source Software (OSS) has led to new business models as well as software development practices. OSS projects are constrained by their limited resources both in time and manpower. In order to be successful such projects have to leverage tools to automate as many tasks as possible while providing usable results. One such set of tools used in software development are continuous build systems, which help teams to build and test their software whenever a change is published without manual interaction. The available systems have proven to be essential for any kind software project but are lacking real innovation.
This paper presents how Erlang, especially its distributed operation, fault-tolerance and lightweight processes, has been utilized to develop a next-generation continuous build system. This system executes many long-running tasks in parallel for any given change of the monitored software project, providing developers not only with the latest state of the project but also offers customizable software packaging and patch distribution.
- }}Open Source. Hudson - A extensible continuous integration server. http://hudson-ci.org/Google Scholar
- }}Open Source. Cruisecontrol - A continuous build system. http://cruisecontrol.sourceforge.net/Google Scholar
- }}Kent Beck. Extreme programming explained: embrace change. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2000. Google ScholarDigital Library
- }}W. W. Royce. Managing the development of large software systems: concepts and techniques. In ICSE '87: Proceedings of the 9th international conference on Software Engineering, pages 328--338, Los Alamitos, CA, USA, 1987. IEEE Computer Society Press. Google ScholarDigital Library
- }}Paul Duvall, Steve Matyas, and Andrew Glover. Continuous integration: improving software quality and reducing risk. Addison-Wesley Professional, 2007. Google ScholarDigital Library
- }}M. J. Rochkind. The source code control system. In IEEE Transactions on Software Engineering, SE-1(4), pages 364--370. IEEE Computer Society Press, 1975.Google ScholarDigital Library
- }}Alan L. Glasser. The evolution of a source code control system. SIGSOFT Softw. Eng. Notes, 3(5):122--125, 1978. Google ScholarDigital Library
- }}Walter F. Tichy. Design, implementation, and evaluation of a revision control system. In ICSE '82: Proceedings of the 6th international conference on Software engineering, pages 58--67, Los Alamitos, CA, USA, 1982. IEEE Computer Society Press. Google ScholarDigital Library
- }}Walter F. Tichy. Rcs - a system for version control. Softw. Pract. Exper., 15(7):637--654, 1985. Google ScholarDigital Library
- }}Bjarne Däcker. Concurrent functional programming for telecommunications: A case study of technology introduction. Master's thesis, KTH Royal Institute of Technology Stockholm, 2000.Google Scholar
- }}Open Source. Deb - The Debian software package format. http://www.debian.orgGoogle Scholar
- }}Open Source. RPM - The RPM package manager and file format. http://rpm.orgGoogle Scholar
Index Terms
- Using Erlang to implement a autonomous build and distribution system for software projects
Recommendations
World-class product certification using Erlang
It is now ten years ago since the decision was made to apply the functional programming language Erlang to real production projects at Ericsson. In late 1995, development on the Open Telecom Platform (OTP) started, and in mid 1996 the AXD 301 project ...
World-class product certification using Erlang
ERLANG '02: Proceedings of the 2002 ACM SIGPLAN workshop on ErlangIt is now ten years ago since the decision was made to apply the functional programming language Erlang to real production projects at Ericsson. In late 1995, development on the Open Telecom Platform (OTP) started, and in mid 1996 the AXD 301 project ...
Build Your Next Web Application with Erlang
Web developers find that the Erlang programming language—originally conceived more than 20 years ago for building long-running, fault-tolerant, highly concurrent telephony systems—is well-suited for server-side Web applications. This column describes ...
Comments