anchor.diff:  
   <screenshot of a deploy step>
   
  -## Creating a separate deploy pipeline
  +## Dedicated deployment pipelines
   
  -A more versatile way to model deployments is to separate your testing and deployment pipelines, and to use [trigger steps](/docs/pipelines/trigger-step) to create a deployment build once the test build has passed.
  +Creating dedicated deployment pipelines, separate to your test pipelines, makes it easier to:
   
  -Although separate deployment pipelines take more to setup, they allow you to run manual deployments, re-run failed deployments, clearly separate deployment failures from test failures, use a separate pipeline.yml file, simplify adding rollback steps, use teams for role based access control, and whitelist deploy pipelines in agent hooks.
  +* Separate deployment failures from test failures
  +* Separate test and deployment pipeline.yml files
  +* Re-run failed deployments
  +* Simplify adding rollback steps
  +* Use teams for role based access control
  +* Whitelist deploy pipelines in agent hooks
   
   For example, the following "My App" test pipeline will trigger a deployment build whenever a master test build passes:
   
  
positive.code: steps:
    - label: ":hammer:"
      command: "scripts/test"
    - wait
    - label: ":rocket:"
      trigger: "my-app-deployment"
      branches: "master"
  
negative.code: 
  <screenshot of a deploy pipeline>
  
  ## Gated deployments
  
  
  
  ## External deployment systems
  
  - can use anything for deployments like spinnaker, shipit, samson
  