Tuesday, 3 April 2018

AWS CodePipeline

Overview
  • CI/CD service

Definitions
  • Continous Integration
    • Integrate work frequently
    • Automated building and testing
  • Continous Delivery
    • Automated release process 
    • Release frequently (at extreme on every commit)
    • Typically manual sign-off required before pushing to Production
  • Continous Deployment
    • Like Continous Delivery but no sign-off for Production
    • Requires very reliable automated testing

Model
  • Pipeline
  • pipeline
  • Revision
  • pipeline
  • Stage Transition
    • On completion pipelines transitions to the next stage
    • Transition can be disabled (this is how you disable a stage)
  • Artifact - object
    • Source, jar, result of a build, etc.

Stage
  • Pipeline contains stages (at least 2)
  • Unique name in the workflow
  • Processes only one revision at a time
    • Revisions processed by previous stage are batched
  • Contains sequence of actions (1+)
    • All must complete OK for the Stage to be completed
  • Examples
  • deployments

Action
  • Element of a Stage
  • May run sequentially or in parallel
  • May have input artifact
  • May have output artifact (unique name)
    • Must match input artifact of the next action
  • Examples
    • Source Action (must be the first one)
    • Build Action
    • Deploy Action
Custom Action
  • Type
    • Build
    • Deploy
    • Test
    • Invoke function
  • Similar to SWF
  • Pipeline

Providers
  • Source Provider
  • code, e.g.
  • Deployment Provider
    • CodeDeploy
    • EB
  • Build And Test Providers
    • CodeBuild, Jenkins, CloudBees (see Integrations)

Integrations
  • AWS
    • S3
    • CloudTrail
    • Code*
    • ElasticBeanstalk
    • KMS
  • Third Party
    • GitHub
    • Jenkins (plugin)
    • Many others
References
  • http://www.stelligent.com/build/aws-codepipeline-released-and-there-was-much-rejoicing/

No comments:

Post a Comment