Answers: <p>I don't think there is a generic term for promoting to production. I can tell you that within the devops community, terms are frequently interchanged. As long as the point being addressed is well thought out and made clear, the point can be understood. Some of the terms that are used when referring to the movement between environments are <strong>deploy</strong>, <strong>propagate</strong>, <strong>move</strong>, <strong>promote</strong>, and <strong>release</strong>. I will say though, whenever I hear the term <strong>stage</strong>, I usually associate it with a pre-production environment. I think most others would assume the same. </p>
  
  <p>Within your organization/groups, I think it is important to try to be consistent with your terminology. This eliminates any confusion and assumptions people can make. An example would be, in my organization, we use the term <strong>deploy</strong> whenever we are referencing moving between environments except when referring to the production environment which we use the term <strong>release</strong>. This is to emphasize that it is the final movement in the pipeline/process. </p>
  
Answers: CC BY-SA 3.0
Answers: 2017-11-17T15:31:14.287Z
Answers: 2017-11-17T17:08:28.977Z
Answers: 2017-11-17T17:08:28.977Z
Answers: Preston Martin
Body: <p>I'm looking for a term that unambiguously describes the process of <strong>promoting</strong> a "deployment bundle" (for lack of a more accurate/technical term) from one deployment environment to another, from Development towards Production (or whatever environments there might be in between). I am talking specifically about the context of release management, where each environment has its own dedicated purpose (development, integration testing, user acceptance testing, staging, production, etc.), and which succeed each other in a defined, usually the same, order (of importance or quality).</p>
  
  <p>I had previously thought this process was called <strong>staging</strong> (since I heard the term in this exact context, in multiple projects and teams), before research - especially this discussion: <a href="https://devops.stackexchange.com/questions/1359/what-is-or-could-be-the-formal-and-or-officially-established-definion-of-a-sta/1453#1453">What is, or could be the formal and/or officially established definion of a &quot;stage&quot;?</a> - proved me wrong.</p>
  
  <p>My guess is that I might end up using the term <strong>deployment</strong> itself, but I'd like to further differentiate between the processes of <em>deploying source code to a server</em> and <em>moving to a different environment in accordance with some specific process</em> (e.g. end-to-end test successful, reviewed by release manager, etc.), especially since there might be a different(ly implemented) process for each.</p>
  
  <p>More broadly speaking, I'd like to clear some ambiguity in DevOps terminology, so please also correct any wrong assumptions I might have made in my question.</p>
  
Comments: CC BY-SA 3.0
Comments: 2017-11-16T13:23:42.563Z
Comments: Well, even according to your question points, where does 'promoting' doesn't work ? (That's the general term I know when talking about moving version X of a software from env A to B, promote release X to B)
Comments: Tensibai
Comments: CC BY-SA 3.0
Comments: 2017-11-16T13:31:25.613Z
Comments: For one, I'm currently writing documentation in German, and was hoping for a more technical term. Those tend to be used and accepted without translation, whereas using translations of non-technical terms in a technical context sound silly, pretentious or contrived. I'd rather use some (well, contrived but) widely accepted term ;)
Comments: Patrick Nemenz
Comments: CC BY-SA 3.0
Comments: 2017-11-16T13:36:50.800Z
Comments: In my German documentation I'm going to resort to the figurative `heben` (from German: elevate / raise / lift), which has been dropped multiple times in that context, unless something more technical comes up.
Comments: Patrick Nemenz
Comments: CC BY-SA 3.0
Comments: 2017-11-16T14:02:46.427Z
Comments: @craPkit  I see no other word than _promotion_ in English. You may try asking on [german.se] for confirmation about the use of _heben_ in this context or better alternatives. It’s probably best if you define the technical context when asking there; don’t repost this exact question as it wouldn't fit the topic there in this form.
Comments: Tensibai
Tags: <terminology><deployment><release-management>
Title: What's the term for moving/promoting code between deployment environments
UserDisplayName: Patrick Nemenz
ThreadText: # What's the term for moving/promoting code between deployment environments
  
  (Asked by: username_0 on 2017-11-16)
  
  I'm looking for a term that unambiguously describes the process of **promoting** a "deployment bundle" (for lack of a more accurate/technical term) from one deployment environment to another, from Development towards Production (or whatever environments there might be in between). I am talking specifically about the context of release management, where each environment has its own dedicated purpose (development, integration testing, user acceptance testing, staging, production, etc.), and which succeed each other in a defined, usually the same, order (of importance or quality).
  
  I had previously thought this process was called **staging** (since I heard the term in this exact context, in multiple projects and teams), before research - especially this discussion: [What is, or could be the formal and/or officially established definion of a "stage"?](https://devops.stackexchange.com/questions/1359/what-is-or-could-be-the-formal-and-or-officially-established-definion-of-a-sta/1453#1453) - proved me wrong.
  
  My guess is that I might end up using the term **deployment** itself, but I'd like to further differentiate between the processes of *deploying source code to a server* and *moving to a different environment in accordance with some specific process* (e.g. end-to-end test successful, reviewed by release manager, etc.), especially since there might be a different(ly implemented) process for each.
  
  More broadly speaking, I'd like to clear some ambiguity in DevOps terminology, so please also correct any wrong assumptions I might have made in my question.
  
  **Tags:** terminology, deployment, release-management
  
  > **Comments:**
  > **username_1**: Well, even according to your question points, where does 'promoting' doesn't work ? (That's the general term I know when talking about moving version X of a software from env A to B, promote release X to B)  
  > **username_0**: For one, I'm currently writing documentation in German, and was hoping for a more technical term. Those tend to be used and accepted without translation, whereas using translations of non-technical terms in a technical context sound silly, pretentious or contrived. I'd rather use some (well, contrived but) widely accepted term ;)  
  > **username_0**: In my German documentation I'm going to resort to the figurative `heben` (from German: elevate / raise / lift), which has been dropped multiple times in that context, unless something more technical comes up.  
  > **username_1**: @craPkit  I see no other word than _promotion_ in English. You may try asking on [german.se] for confirmation about the use of _heben_ in this context or better alternatives. It’s probably best if you define the technical context when asking there; don’t repost this exact question as it wouldn't fit the topic there in this form.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2017-11-17. Score: 6 | Accepted answer
  
  I don't think there is a generic term for promoting to production. I can tell you that within the devops community, terms are frequently interchanged. As long as the point being addressed is well thought out and made clear, the point can be understood. Some of the terms that are used when referring to the movement between environments are **deploy**, **propagate**, **move**, **promote**, and **release**. I will say though, whenever I hear the term **stage**, I usually associate it with a pre-production environment. I think most others would assume the same.
  
  Within your organization/groups, I think it is important to try to be consistent with your terminology. This eliminates any confusion and assumptions people can make. An example would be, in my organization, we use the term **deploy** whenever we are referencing moving between environments except when referring to the production environment which we use the term **release**. This is to emphasize that it is the final movement in the pipeline/process.
  
  
  ---
  
  