Iris Classon
Iris Classon - In Love with Code

A little Continuous Integration Dictionary

I’m putting together a little dictionary for those that are new to CI, and here are some of the terms/concepts I can think of that are good to know to better understand when you read/watch something on the topic.

Happy to get some feedback on the very simplified diagram as well as the ‘dictionary’

ContinousIntegartionDiagram

Automated - no interaction required

Automated code inspection - enforces rules on code design

Automated tests - tests that can be ran in automated manner

Automated deployment- extension of the CI environment to do small frequent releases

Build - the process of making the puzzles of the software fit together, it promises cohesiveness. It can consist of several processes, from compilation, test, inspection, more tests, deployment…

Private build - local build

Integration build - build on the build machine

Release build- final build that meets all the prerequisites

Build agent - an independent system unit that runs the builds

Build artifact - products produced by a build

Build configuration - you can say this is the build settings

**Build script-**script that defines the processes for the build

Checking out- pulling down code from the main machine to your own

CI server- runs the integration builds

Commit- pushing code to the mainline

Commit build- build done when somebody commits code to the mainline

Continuous build- adding code to the mainline on regular basis (for example nightly build)

Defect - issue/ bug/ unintended feature

Defect management - Processes for handling defects

Deployment pipeline - sequence of builds

IDE - Integrated Development Environment (program with graphical user interface)

Integration build machine- hosts the CI server

Notifications - response based on message/notification rules set on the build machine

Mainline- main branch where the code is in the source code management system

Production clone - testing setup for production environment

Project - code and artifacts (all management configurations should be in the project and checked in with the VC) or referring to the CI project

Scheduling - how often for example a build agent should run

Shell/Console - Graphical user interface-less environment for handling processes and automation

Trigger- how/what should kick of a build

Version Control - also known as ‘Source control’, ‘Revision system’ and ‘Source code management system’. Used for code versioning, collaboration, project related artifacts and more.

Working copy- current working code version on your computer

Comments

Leave a comment below, or by email.
Johan Karlsson
12/25/2013 3:15:45 PM
Nice list! 

I have some comments, wearing my TFS glasses:

Private build is not local. A private build is built on the build server but just for me (using a shelvset).
http://msdn.microsoft.com/en-us/library/ms181722.aspx#Private

Since you mention Build Agent, you might want to mention Build Controller as well:
http://msdn.microsoft.com/en-us/library/dd793166.aspx

Happy Hollidays! 
Derek
12/25/2013 3:40:57 PM
In the Microsoft world, there may be a single build machine, but often there would be a number of machines, possibly running different operating systems. Then a master machine would receive the build request and pass them on to the appropriate slave server. It might be worth including this point, even though it may not apply to the Microsoft Team server model 


Last modified on 2013-12-25

comments powered by Disqus