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
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