Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Spinnaker Managed Pipeline Temp...

Avatar for Keke Keke
February 18, 2020

Introduction to Spinnaker Managed Pipeline Templates

Hey, brief introduction of Spinnaker Managed Pipeline Templates to enhance your CI/CD quality

Avatar for Keke

Keke

February 18, 2020
Tweet

More Decks by Keke

Other Decks in Technology

Transcript

  1. About me Keisuke Yamashita(Slack:@keke) Hello. I'm from new grad Merpay

    SRE Introducing Spinnaker Pipeline Template | KeisukeYamashita
  2. Introducing Spinnaker Pipeline Template | KeisukeYamashita Outline TODAY'S TOPICS What's

    Spinnaker? Spinnaker Architecture and how it works Spinnaker Managed Pipeline Template(MPT) The pros/cons of MPT How to create Spinnaker Pipeline Template MPT Tips 1. 2. 3. 4. 5. 6.
  3. What's Spinnaker Spinnaker is an open-source, multi-cloud continuous delivery platform

    that helps you release software changes with high velocity and confidence. Introducing Spinnaker Pipeline Template | KeisukeYamashita
  4. Spinnaker Architecture spin-gate orca clouddriver echo igor front50 rosco fiat

    spin-deck Introducing Spinnaker Pipeline Template | KeisukeYamashita
  5. Spinnaker Architecture spin-gate orca clouddriver echo igor front50 rosco fiat

    spin-deck Introducing Spinnaker Pipeline Template | KeisukeYamashita
  6. Spinnaker Architecture spin-gate orca clouddriver echo igor front50 rosco fiat

    spin-deck Exposed to Internet Has Ingress Has Ingress Introducing Spinnaker Pipeline Template | KeisukeYamashita
  7. Spinnaker Architecture spin-gate orca clouddriver echo igor front50 rosco fiat

    spin-deck UI that the developer is using. Written in Angular + React. You can also extend the UI with a customize deck WEB UI Introducing Spinnaker Pipeline Template | KeisukeYamashita
  8. Spinnaker Architecture orca clouddriver echo igor front50 rosco fiat spin-gate

    spin-deck All requests are first handled to this API gateway. I has logics in here. Written by Java. API GATEWAY Introducing Spinnaker Pipeline Template | KeisukeYamashita
  9. Spinnaker Architecture clouddriver echo igor front50 rosco fiat spin-gate spin-deck

    orca Manages the pipeline execution's consistency even in distributed system like Spinnaker on Kubernetes. Written in JAVA. Stateless. ORCHESTRATION ENGINE Introducing Spinnaker Pipeline Template | KeisukeYamashita
  10. Spinnaker Architecture clouddriver echo igor front50 rosco fiat spin-gate spin-deck

    orca Echo handles the event for sending the events and handling the webhooks from Github MESSAGING BUS Introducing Spinnaker Pipeline Template | KeisukeYamashita
  11. echo front50 rosco fiat spin-gate orca igor Spinnaker Architecture clouddriver

    spin-deck Igor is in charge for handling trigger events from Travis or Jenkins TRIGGER PIPELINE Introducing Spinnaker Pipeline Template | KeisukeYamashita
  12. echo front50 rosco fiat spin-gate orca igor Spinnaker Architecture clouddriver

    spin-deck Clouddriver calls the cloud provider(e.g. Kubernetes, GCE) CALL CLOUD PROVIDER Introducing Spinnaker Pipeline Template | KeisukeYamashita
  13. Spinnaker Architecture clouddriver echo front50 rosco fiat spin-gate spin-deck orca

    igor Fiat is a authentication service. AUTHENTICATION
  14. echo front50 rosco fiat spin-gate orca igor Spinnaker Architecture clouddriver

    spin-deck Responsible for storing metadata & configs METADATA STORAGE
  15. echo front50 rosco fiat spin-gate orca igor How it works

    clouddriver spin-deck Save the pipeline 1.
  16. echo front50 rosco fiat spin-gate orca igor How it works

    clouddriver spin-deck Save the pipeline 1.
  17. echo front50 rosco fiat spin-gate orca igor How it works

    clouddriver spin-deck Save the pipeline 1.
  18. echo front50 rosco fiat spin-gate orca igor How it works

    clouddriver spin-deck 2. Execute the pipeline front50 Save application config
  19. echo front50 rosco fiat spin-gate orca igor How it works

    clouddriver spin-deck 2. Execute the pipeline ① Invoke a pipeline exection
  20. front50 rosco fiat spin-gate orca How it works clouddriver spin-deck

    2. Execute the pipeline ② Gets application config echo igor
  21. front50 rosco fiat spin-gate orca How it works clouddriver spin-deck

    2. Execute the pipeline ③ Trigger pipeline echo igor
  22. front50 rosco fiat spin-gate orca How it works clouddriver spin-deck

    2. Execute the pipeline ④ Request for k8s echo igor
  23. front50 rosco fiat spin-gate orca ⑤ kubectl apply How it

    works clouddriver spin-deck 2. Execute the pipeline echo igor
  24. Spinnaker Pipeline Template Pipeline Template + Pipeline = { "service":

    "nginx" } Pipeline variables Introducing Spinnaker Pipeline Template | KeisukeYamashita
  25. + Spinnaker Managed Pipeline Template Pipeline Template v1 Pipeline v1

    = { "service": "nginx" } Pipeline variables Pipeline Template v1 Introducing Spinnaker Pipeline Template | KeisukeYamashita
  26. + Spinnaker Managed Pipeline Template Pipeline Template v1 Pipeline v1

    = { "service": "nginx" } Pipeline variables Pipeline Template v1 Pipeline v2 Automatically updates the pipelines Introducing Spinnaker Pipeline Template | KeisukeYamashita
  27. + Spinnaker Managed Pipeline Template Pipeline Template v1 Pipeline v1

    = { "service": "nginx" } Pipeline variables Pipeline Template v1 Pipeline v2 Automatically updates the pipelines Sync Introducing Spinnaker Pipeline Template | KeisukeYamashita
  28. Spinnaker Managed Pipeline Template In application dashboard(after enabling v2 UI)

    Introducing Spinnaker Pipeline Template | KeisukeYamashita
  29. Spin, Spinnaker CLI tool Download Spinnaker Pipeline $ spin pipeline

    get \ --name <PIPELINE_NAME> \ --application <APPLICATION_NAME> Introducing Spinnaker Pipeline Template | KeisukeYamashita
  30. Spin, Spinnaker CLI tool Create Pipeline Template JSON { "schema":

    "v2", "application: "<APPLICATION_NAME>", "pipeline": <PASTE_DOWNLOADED_PIPELINE>, "triggers: "<PIPELINE_TRIGGER_CONFIG>", "variables": [<PIPELINE_VARIABLES>] } Introducing Spinnaker Pipeline Template | KeisukeYamashita
  31. Spin, Spinnaker CLI tool Upload Pipeline Template JSON $ spin

    pipeline-template save \ --file <PATH_TO_PIPELINE_TEMPALTE> Introducing Spinnaker Pipeline Template | KeisukeYamashita
  32. Pros REUSABILITY Pipeline Template Deploy Nginx Pipeline { "image": "nginx"

    } Pipeline variables { "image": "redis" } Pipeline variables { "image": "apache hive" } Pipeline variables Deploy Redis Pipeline Deploy Hive Pipeline
  33. + Pipeline Template v1 Pipeline v1 = { "service": "nginx"

    } Pipeline variables Pipeline Template v1 Pipeline v2 Automatically updates the pipelines Sync Pros MANAGED