principleModerate
Dealing with ambiguity of the terms publish vs. deploy
Viewed 0 times
publishthewithambiguitydealingdeployterms
Problem
DevOps terminology sometimes originates in products as introduced by their authors.
As a result, there are some standard actions described by ambigous terms. In mixed teams and large heterogeneous environments we need to agree on terms to undertstand what we actually do.
-
publish: term specific to Ant/Ivy meaning putting an artefact into binary repository. Also, some people would say "publish content updates to website".
-
deploy: while "in the Maven world" this word describes putting an artefact to binary repository afaik, more "opsy" people deploy their servers also without having Maven in place.
How to deal with this ambiguity (ideally, please refer to "success stories")? An explorative talk on terms meaning is not always welcome in delivery oriented stressful environments; maybe there are already better terms around?
For terms definitions, please refer to sources.
As a result, there are some standard actions described by ambigous terms. In mixed teams and large heterogeneous environments we need to agree on terms to undertstand what we actually do.
-
publish: term specific to Ant/Ivy meaning putting an artefact into binary repository. Also, some people would say "publish content updates to website".
-
deploy: while "in the Maven world" this word describes putting an artefact to binary repository afaik, more "opsy" people deploy their servers also without having Maven in place.
How to deal with this ambiguity (ideally, please refer to "success stories")? An explorative talk on terms meaning is not always welcome in delivery oriented stressful environments; maybe there are already better terms around?
For terms definitions, please refer to sources.
Solution
The terms are actually quite well defined and some authors are simply making a mess of things by using a term like 'publish' for deployment, in cases where publishing a website for example constitutes for their own process also a deployment, as there is no extra deployment step after publishing. Sometimes they use word publishing both for uploading and publishing together as all of their artifacts are public. That creates unnecessary confusion. Just to make it clear, here are the definitions:
Environment Definitions:
Artifact Lifecycle Stages:
Note: People often use any of those terms to mean one or more of the previous terms together.
Environment Definitions:
- build environment - Environment setup for build process.
- runtime environment - Environment setup for execution process (test/staging/production).
Artifact Lifecycle Stages:
- building - process of creating an artifact in build environment
- uploading - moving artifact from build environment to repository.
- publishing - making artifact in repository public.
- downloading - moving artifact from repository to runtime environment
- installing - applying artifact to runtime environment
- deploying - using artifact in runtime environment
- delivery - making artifact (effects) available to customer
Note: People often use any of those terms to mean one or more of the previous terms together.
Context
StackExchange DevOps Q#4953, answer score: 10
Revisions (0)
No revisions yet.