CSD Tools
Tools we like
Those marked with an “*” was used during the course.
*Jenkins, a tool for Continuous Integration
*Trello, web based board with cards in columns, can be used as Scrum board or tracking issues.
Fitnesse is a testing tool that runs as a wiki where non-technical persons can write their tests. http://fitnesse.org/
*Maven is a system to express dependencies and build software. Widely spread and gives access to huge repositories with software out of the box.
Sonar compiles information from several code analysing tools and pinpoints critical parts of your code by combining metrics.
*EclEmma measures code coverage and integrates with your IDE. Cobertura was used in the course on the build server.
JRebel allows for hot swapping classes in a running JVM.
*Cloudbees is a PaaS (Platform as a Service) web service that offers the possibility to build and deploy in the cloud.
*Git is a distributed version management tool.
Github is a web service that hosts Git repositories. Has other features as well such as project wiki and issue tracking.
Gitbox is easy to use interface for Git on the Mac.
Graphite visualises numeric time-series data which may be collected from other tools. http://graphite.readthedocs.org/en/0.9.10/
JAMon allows you to monitor Java applications in real time. http://jamonapi.sourceforge.net/
Tools that we tolerate
JIRA is an issue tracking tool with add ons.
Selenium drives testing though a web GUI. Note that this should be a minority of your system level testing.
Thoughtworks Go is continuous integration solution.
MS Build is the build system for Visual Studio.
Subversion is a centralised version management system, i .e. there is only one, central repository.
TFS (Team Foundation Server) is a Microsoft product offering source control, data collection, reporting, and project tracking, and is intended for collaborative software development projects
Tools that we don’t like
Ant is a build system which requires you to write down everything in the build process.
Make is the god father of all build systems, designed 1977 by Stuart Feldman. It is still available on a typical Unix machine. Very terse in its grammar.
Cruise Control is a continuous integration tool.
ClearCase is a version control system now owned by IBM after the acquisition of Rational. It was released 1992 and based on DSEE. It has a central repository philosophy with the twist that as soon as someone checks in a new version, it becomes available to everyone without requiring any action on their part.