Skip to content

Instantly share code, notes, and snippets.

@efleming969
Created May 13, 2014 17:00
Show Gist options
  • Save efleming969/cc0c51b1cc0273ab0f36 to your computer and use it in GitHub Desktop.
Save efleming969/cc0c51b1cc0273ab0f36 to your computer and use it in GitHub Desktop.

Some General Concepts

  1. "Trust" in the test suite is an absolute must
  2. The practice is more important than the tools
  3. 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

Deployment pipeline

Continuous Integration

Continuous Integration is a software development practice where members of a team integrate their work frequently

Martin Fowler's view

  • 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

Gated check-ins

A general mechanism for applying automated policies to code check-ins to help elleviate breaking the build inadvertently

Jenkins CI

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

Team Build ( TFS )

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

Atlassian Bamboo

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

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

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

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment