Glossary of terms

Agent(n) Computer which executes a job.

Aggregate Build Command(n) Composite of build commands which is put together to satisfy a build use case.

Build(v) in built quality check.

Build Application(n) Build scripts, programs and configuration files. It is outside the production code and doesn't share any functions with it.

Build Artifact(n) Out of a job which is published by the continuous integration server.

Build Interface(n) Collection of build commands exposed by the build application.

Build Command(n) An operation which is part of build application interface.

Build Use Case(n) Aggregation of build commands which satisfy a use case. e.g. pre commit build.

Build Time(n) The time it takes for the build to run on continuous integration server.

Clean build(v) brings the codebase to clean state before running other build tasks.

Codebase(n) contains source/test code, build scripts, installer scripts, database scripts etc.

Commit(n) Check in source code to main branch of source control system.

Commiter(n) Person who commits the code.

Component(n) A part of Sub-system which implements certain piece of functionality. Ideally should have its own UnitTestsContinuous Integration Tests(n) Automated tests which run every commit.

Deployment Unit(n) All components inside it share the runtime context.

Forcing a build(v) Rerunning he continuous integration build without making any changes to materials.

Integration Time(n) The time it takes for single run of continuous integration to finish successfully. (Most teams call it build time, but it is confusing because mostly build time on developer's machine is significantly different from integration time.

Job(n) A continuous integration entity configured to execute build commands in sequence. This is smallest unit of work in continuous integration system.

Local Build(n) aka Pre Commit Build.

Local Build Time(n) The time it takes for the commiter's pre-commit build.

Main Branch(n) Branch of source control which is common to development team. These branches are tied to particular release of software, so at any point of time there are more than one main branch.

Material(n) Source code input to continuous integration job.

Pipeline(n) Collection of stages and each stage is executed in sequence. All the stages share the same material.

Pre Commit Build(n) Aggregate build which developer runs before commit the code to main branch.

Production(n) System running and available to its end user for consumption.

Release(n) A version of software system which is/was/will-be put in production.

Runtime Context(n) In a rumtime context various programme elements can access and send messages to each other. e.g. AppDomain in .NET.

Service Endpoint (n) Provides implementation of some functionality to external systems via remote call.

Service (n) A collection of service endpoints forming a single deployment unit.

Stage(n) Collection of jobs which could be executed in parallel synchronized with the same version of materials.

Source Control System(n)

Sub-system(n) A part of the System which is independently buildable and deployable.

System(n) Software which provides value to the end user.UnitTest An automated test which tests a particular part of codebase. It can create mocks/stubs to create isolation from rest of the codebase. A unit test doesn't interact with any other process.

Work Stream(n) Development activities carried out towards achieving the identified goals of a release.