StriderCD.coma frozenridge.co production
Continuous Deployment of Frontend JavaScript
with StriderCD, Github & Sauce Labs
StriderCD: What Is It?
● Open Source Continuous Delivery Platform
● Similar to TravisCI or Jenkins
● Based on real-world experience
StriderCD: Motivations
● Definitions of CD/CI differ
● Organizational needs frequently vary:
○ Process
○ Workflow
○ Scalability
○ Complexity
○ Integrations
● Easy to Customize & Modify
● Easy to Use
● Easy to Host & Get Support
StriderCD: 3 Key Goals
StriderCD: Easy To Customize
● Natively Extensible via NPM Plugin System
● First Class Extensions - Everything
Customizable
○ Front-end (e.g. fully branded dashboards)
○ Worker (e.g. scalable network job distribution)
○ Integrations (e.g. Sauce Labs, Heroku, Python)
● Existing plugins: Sauce, Python, Go, Node.
JS, QUnit, Jasmine, Custom Scripts ...
StriderCD: Easy To Use
● Easy to setup new projects
● Integrates directly with Github (public &
private repos)
● Auto-detect as much as possible
● Configurable via both web UI and config
files
StriderCD: Easy to Host, Supported
● Easy to Run & Deploy:
○ `npm install -g strider`
○ OR `docker pull strider/strider`
● Easy Private/On-Premise Deployments:
○ Use your own infrastructure
○ Or a PaaS like Heroku, dotCloud
● Cloud-hosted service at stridercd.com
● Commercial support by FrozenRidge LLC
Part 2! Front End Stuff
How do you automate client side tests, get
reporting back to a CI system without modifying
any test code?
Jellyfish
● https://github.com/admc/jellyfish
Jelly Proxy
● https://github.com/peterbraden/jelly-proxy
Super Awesome Confusing Diagram
Jelly
Proxy
Browser
http://yoursite.com/foo
Custom
JS Shim
Added
localhost/_jelly/custom_reporting
Sauce
Labs
Strider
CD
Strider-Jelly
Strider Jelly
● https://github.com/Strider-CD/strider-jelly

Continuous Deployment of Front-end JavaScript with StriderCD, Github and SauceLabs

  • 1.
    StriderCD.coma frozenridge.co production ContinuousDeployment of Frontend JavaScript with StriderCD, Github & Sauce Labs
  • 2.
    StriderCD: What IsIt? ● Open Source Continuous Delivery Platform ● Similar to TravisCI or Jenkins ● Based on real-world experience
  • 3.
    StriderCD: Motivations ● Definitionsof CD/CI differ ● Organizational needs frequently vary: ○ Process ○ Workflow ○ Scalability ○ Complexity ○ Integrations
  • 4.
    ● Easy toCustomize & Modify ● Easy to Use ● Easy to Host & Get Support StriderCD: 3 Key Goals
  • 5.
    StriderCD: Easy ToCustomize ● Natively Extensible via NPM Plugin System ● First Class Extensions - Everything Customizable ○ Front-end (e.g. fully branded dashboards) ○ Worker (e.g. scalable network job distribution) ○ Integrations (e.g. Sauce Labs, Heroku, Python) ● Existing plugins: Sauce, Python, Go, Node. JS, QUnit, Jasmine, Custom Scripts ...
  • 6.
    StriderCD: Easy ToUse ● Easy to setup new projects ● Integrates directly with Github (public & private repos) ● Auto-detect as much as possible ● Configurable via both web UI and config files
  • 7.
    StriderCD: Easy toHost, Supported ● Easy to Run & Deploy: ○ `npm install -g strider` ○ OR `docker pull strider/strider` ● Easy Private/On-Premise Deployments: ○ Use your own infrastructure ○ Or a PaaS like Heroku, dotCloud ● Cloud-hosted service at stridercd.com ● Commercial support by FrozenRidge LLC
  • 8.
    Part 2! FrontEnd Stuff How do you automate client side tests, get reporting back to a CI system without modifying any test code?
  • 9.
  • 10.
  • 11.
    Super Awesome ConfusingDiagram Jelly Proxy Browser http://yoursite.com/foo Custom JS Shim Added localhost/_jelly/custom_reporting Sauce Labs Strider CD Strider-Jelly
  • 12.