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

Introduction to Spinnaker Managed Pipeline Templates

Keke
February 18, 2020

Introduction to Spinnaker Managed Pipeline Templates

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

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