Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What Development and Build Lifecycle Tools Do You Use?

I'm working on transitioning my current project of about 20 developers to a modern development and build environment. We currently use an RCS based source control system and an associated issue tracking system, both with Motif UIs. There is no formal production build process, its just whatever works.

I'm interested in:

  • Development Tools
  • Version Control
  • Issue Tracking
  • Dependency Management
  • Configuration Management
  • Automated Building
  • Automated Testing
  • Continuous Integration
  • Artifact Management
  • Release Management
  • Deployment Management
  • Requirements Tracing
  • What else?

I'm interested in not just which tools you use, but how well the integrate with each other, how easy they are to setup and use, and how both developers and management likes them. Our project is a combination of Java, C++, and VHDL, but I'd still like to hear from people with other languages. I'm currently going down the path of eclipse, subversion, trac, maven, hudson, and nexus.

Also, is there a better term than "Build Lifecycle" that encompasses not just building, but the flow of code from when the developer creates it to when its built, tested, and in a production system? "Build Lifecycle" seems limited, but "Project Lifecycle" is already taken.

like image 753
John Ellinwood Avatar asked Mar 01 '09 06:03

John Ellinwood


People also ask

What are the 5 main SDLC types of development lifecycle?

What are the 5 phases of the system development life cycle? The SDLC has five phases: inception, design, implementation, maintenance, and audit or disposal, which includes an assessment of the risk management plan.

What are development tools used for?

3.1 Software Development Tools. Software development tools are basically computer programs, and they usually run on personal computers, helping the programmer (or system developer) to create and/or modify or test applications programs.


1 Answers

I hate Maven less than I hate Ant, and for Java, you need to choose one of those evils. If you're just starting out, choose Maven, especially since you've already recognized that your "build lifecycle" encompasses 12 different and complex disciplines! You're going to have to choose conventions for all of them. Save yourself the trouble and go with the conventions Maven has already established.

For continuous integration and general build automation, I like Hudson.

like image 168
jcrossley3 Avatar answered Sep 30 '22 13:09

jcrossley3