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

How StackStorm Builds & Operates StackStorm

How StackStorm Builds & Operates StackStorm

This is the slide deck from a talk I gave about the StackStorm CI/CD pipeline.

https://www.youtube.com/watch?v=nVXVqWnEdtE

Patrick Hoolboom

May 07, 2015
Tweet

More Decks by Patrick Hoolboom

Other Decks in Technology

Transcript

  1. StackStorm Solution 3 Master Content Repo PLATFORM Web GUI CLI

    Chatops CLIENTS Sensor Plugins (inbound integrations) Action Plugins (outbound integrations) INTEGRATIONS .yml REST API Rules Engine Workflow Engine Audit… A M Q P m e s s a g e b u s A M Q P m e s s a g e b u s / / / / {*} IFTTT No N! issue No N! issue Loosely coupled; users abstract automation from integration Loosely coupled; users abstract automation from integration Workflow and rules enable simple scripts to be tied together like Legos. Automate & share pipelines. Workflow and rules enable simple scripts to be tied together like Legos. Automate & share pipelines. Polished – with GUI, ChatOps, CLI, RBAC, error handling, help & more Polished – with GUI, ChatOps, CLI, RBAC, error handling, help & more
  2. Why now? 4 IT does matter. A lot. Orchestration can

    deliver agility More change, more tools, DevOps = new requirements for automation
  3. What Problems Are We Solving? • Automated Testing (CI) –

    Integration testing on every commit to all supported versions • Packaging & Shipping (CD) – Distro specific packages on every successful build – Fully automated delivery to all repositories 5
  4. How Is It Built? • GitHub Sensor – GitHub post

    commit hooks are received by a GitHub sensor • ActionChains – All workflows are written using the sequential workflow runner - ActionChain • ActionTriggers – Workflows are tied together using the trigger that is emitted on completion of an action execution. • Rules – Rules are used to enforce workflow execution preconditions 8
  5. Other Technologies • StackStorm Datastore – Last build number, stable

    release branch • Consul – Service Discovery for build & packaging • AWS 9
  6. 1. GitHub Commit 10 On each merge in to the

    monitored branches, both the unit tests, and the Mistral Integration Tests are fired.
  7. 2. Packaging for Staging 11 Successful unit tests fire off

    packaging of all components, including documentation, and ship to the staging environment.
  8. 3. Deploy to Staging 12 Packaging workflows will trigger upgrades

    on the staging hosts of the appropriate distro.
  9. 4. Smoke Test - Staging 13 On successful completion of

    the upgrade, basic smoke tests are ran.
  10. 5. End to End Test - Staging 14 Successful completion

    of the smoke tests, will trigger the full end to end testing suite. This includes all documented examples and deployment scripts.
  11. 6. Tag & Cut Release 15 Upon completion of end

    to end tests, the release is tagged and a new patch branch is created.
  12. 7. Package & Deploy 16 The release triggers the production

    packaging workflow. This workflow takes the blessed packages and delivers them to the production repositories.
  13. Why Build It Ourselves? • Eating Our Own Dog Food

    – Continuous validation of StackStorm as a CI/CD solution • The Ultimate Acceptance Testing • Bragging Rights 17
  14. What's Next? • Containers – Unit Tests & Packaging Moved

    to Containers • ChatOps Improvements – Full Two Way ChatOps Integration 18
  15. Check Out Our new Meetup! Auto-Remediation and Event Driven Automation

    • http://www.meetup.com/Auto-Remediation-and-Event-Driven-Automation/ • Thursday May 14, 2015 6:30pm • LinkedIn: 2029 Stierlin Ct, Mountain View, CA 20