Hubot Deployments at Stylight

67 %
33 %
Information about Hubot Deployments at Stylight

Published on February 27, 2014

Author: DanAckerson



Automation is critical for gaining transparency in your organization's development process. If everyone knows what's going on (and how often), trust is built and communication improved.

Hubot Deployments from HipChat Trust, Transparency & Teamwork

@danackerson BASIC programming and debugging Network Security & H/W Troubleshooting


Hipchat integration $ npm install hubot $ vi /etc/init.d/hubot start_hubot() { sudo -u $HBT_USER -i -- <<EOF export HUBOT_HIPCHAT_JID='' export HUBOT_HIPCHAT_PASSWORD='<supersecretpasswd>' export HUBOT_HIPCHAT_TOKEN='<supersecrettoken>' export HUBOT_HIPCHAT_ROOMS='' export HUBOT_AUTH_ADMIN='123970,459837,512833' export PORT=8887 $HBT_DIR/$HBT_BIN -a hipchat > /home/$HBT_USR/hubot.log 2>&1 &

is based on a culture of trust -- Ernest Hemingway


Broadcast & control releases {spawn, exec} = require 'child_process' exec_cmd = "fab release:commit='#{sha}',servers='#{servers}'" ",changelog="#{changelog}",keep_disabled=#{keep_disabled}" cmd_str = "eval `ssh-agent` && ssh-add && cd #{deploy_dir} " && #{exec_cmd} > #{home_dir}/deploys/#{current_date}.log 2>&1" exec cmd_str, (err, stdout, stderr) -> if err msg.reply "Sorry, something has gone wrong: #{err}" else exec "rm #{home_dir}/deploys/current.lock && killall ssh-agent"

demands transparency

Ensure quality if test_deployment and !github_release_id msg.http(" buildWithParameters?token=<jenkinstoken>&GIT_COMMIT=#{sha}") .get()


Jenkins measures

github release

Putting the pieces together msg.http("") .headers( 'Authorization': "token <GIT_API_TOKEN>", 'User-Agent': "Stybot" ) .get() (err, res, body) -> for release in JSON.parse body if release['target_commitish'][0..6] == sha[0..6] github_release_id = release['id'] if live_deployment and !github_release_id msg.reply 'WARN: ' + sha[0..6] + ' has no passing tests!'

Hold ourselves accountable

… because teamwork!

Individuals and interactions

Add a comment

Related presentations

Related pages

Agile Web Development & Operations – Shaping and ...

With you ... told me to take a look at Hubot. It was custom made for automating rote tasks like webapp deployments.
Read more

Large-Scale Deployments With Pogo At Yahoo! Mike Schilli ...

Slide 1 Large-Scale Deployments With Pogo At Yahoo! Mike Schilli YAPC::NA 06/14/2012 Slide 2 What’s Pogo? Yahoo’s deployment system – Highly scalable ...
Read more

STYLIGHT Wiesn Guide - Documents

Die besten Tipps des STYLIGHT Teams um auf dem größten Volksfest der Welt zu überleben! Nicht-Münchner haben jedes Jahr die gleichen Probleme bei der ...
Read more