Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add initial version of vocabulary/terminology #14
base: master
Add initial version of vocabulary/terminology #14
Changes from all commits
71f537bFile filter...
Jump to…
Establishing Shared Vocabulary
Introduction
There are many ways to greet someone and as humans if we do not understand the word being used we have the ability to observe body language, process tone, and even touch. These many different natural inputs allow us as humans to establish shared vocabulary upon which we have been able to build successful components relevant to our way of living and social norms of interacting.
Unfortunately for machines, this process is not so easy as we humans have to decide if we want to establish norms which we often surface when talking about machine interactions as protocols and best practices or requirements.
Continuous Integration (CI) and Continuous Delivery (CD) practitioners have many tools at their disposal but it is often the case that what we call a pipeline in today’s tool of choice is not called the same thing in the tool we use tomorrow. Again, we can within our sphere of influence and interaction adjust for these nuances but machines talking to one another do not have that same luxury necessarily.
The purpose of this document is to collect the basic terms used by CI/CD tools and technologies in order to work on establishing a shared vocabulary for us humans to communicate and collaborate better.
Terminology Used by CI/CD Tools and Technologies
This section contains list of some key terms used by various CI/CD tools and technologies.
CircleCI
CircleCI allows teams to rapidly build quality projects, at scale.
Some of the core CircleCI terms are listed below. [1]
GitHub Actions
GitHub Actions enables the creation of custom software development life cycle (SDLC) workflows using GitHub repositories.
Some of the core GitHub Actions terms are listed below. [2]
GitLab CI/CD
GitLab CI/CD is a powerful tool built into GitLab that allows users to apply all the continuous methods (Continuous Integration, Delivery, and Deployment) to their software with no third-party application or integration needed.
Some of the core GitLab CI/CD terms are listed below. [3]
Jenkins
Jenkins is an open source automation server which enables developers around the world to reliably build, test, and deploy their software.
Some of the core Jenkins terms are listed below. [4]
Jenkins X
Jenkins X provides pipeline automation, built-in GitOps, and preview environments to help teams collaborate and accelerate their software delivery at any scale.
Some of the core Jenkins X terms are listed below. [5]
Screwdriver
Screwdriver is an open source build platform designed for Continuous Delivery.
Some of the core Screwdriver terms are listed below. [6]
Spinnaker
Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
Some of the core Spinnaker terms are listed below. [7]
Tekton
The Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines.
Some of the core Tekton terms are listed below. [8]
Zuul
Zuul is a program that drives continuous integration, delivery, and deployment systems with a focus on project gating and interrelated projects.
Some of the core Zuul terms are listed below. [9]
Terminology Used by SCM Tools and Technologies
This section contains list of some key terms of various SCM tools and technologies.
Gerrit
Gerrit is a free, web-based team code collaboration tool.
Some of the core Gerrit terms are listed below. [10]
GitHub
GitHub is a hosted software development version control system using Git.
Some of the core GitHub terms are listed below. [11]
GitLab
GitLab is a web-based DevOps lifecycle tool that provides a Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features.
Some of the core GitLab terms are listed below. [12]
Mapping of Terms
The CI/CD Tools and Technologies listed in this document use more or less same terminology for naming things with few differences, workflow vs pipeline or runner vs node except the smaller units of work.
The table below is an attempt to create a mapping of different terms used by CI/CD Tools and Technologies and could contain errors. The main term used while creating the table is pipeline since almost all the tools listed in this document use the word pipeline to describe pretty similar things. Smaller units of terms then mapped based on how they are described in relation to pipeline in corresponding documentation.
Fields marked as N/A means that the author of this document failed to identify corresponding term in the documentation of those tools and does not mean those units of work are not supported by the tools. (this could be the case...)
Fields contain question mark is the author's guess and might be incorrect.
Shared Vocabulary
TBD