- "Trust" in the test suite is an absolute must
- The practice is more important than the tools
- The ops department should be responsible for providing a PaaS, this will allow the development team to be responsible for the bulk of the delivery
Continuous Integration is a software development practice where members of a team integrate their work frequently
- integration happens multiple times per day
- facilitates team level feedback
- breaking the build should cause the whole team to stop what they are doing, in order to fix the build
A general mechanism for applying automated policies to code check-ins to help elleviate breaking the build inadvertently
Open source continuous integration tool built by a large community
- supports all platforms
- HIGHLY customizable
- requires a fair amount of expertise in order to implement and customize
- Jenkins
Automated build system with advanced control mechanism through Window Workflow Foundation
TFS is a complete Issue tracking, version control, and continuous integration product with tight integration with the Visual Studio tools
- cloud and local solutions
- tight integration with Visual studio and other Microsoft tools
- strong support for .NET based solutions
A local and cloud based integration tool, designed with various configuration paths and tight integration with other Atlassian tools
- https://www.atlassian.com/
- multi-platform
- clean and intutitive user inteface
- integrates well with other Atlassian tools, such as Jira
Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life
Chef is an automation platform that transforms infrastructure into code. Stop thinking in terms of physical and virtual servers. With Chef, your real asset is the code that brings those servers and the services they provide to life. An automated infrastructure can accelerate your time to market, help you manage scale and complexity, and safeguard your systems
Puppet is a declarative, model-based approach to IT automation, helping you manage infrastructure throughout its lifecycle, from provisioning and configuration to orchestration and reporting. Using Puppet, you can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage change, scaling from 10s of servers to 1000s, on-premise or in the cloud.