advertisement

Hubot Deployments at Stylight

67 %
33 %
advertisement
Information about Hubot Deployments at Stylight
Technology

Published on February 27, 2014

Author: DanAckerson

Source: slideshare.net

Description

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.
advertisement

Hubot Deployments from HipChat Trust, Transparency & Teamwork

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

Hubot http://hubot.github.com

Hipchat integration $ npm install hubot $ vi /etc/init.d/hubot start_hubot() { sudo -u $HBT_USER -i -- <<EOF export HUBOT_HIPCHAT_JID='12345_678901@chat.hipchat.com' export HUBOT_HIPCHAT_PASSWORD='<supersecretpasswd>' export HUBOT_HIPCHAT_TOKEN='<supersecrettoken>' export HUBOT_HIPCHAT_ROOMS='13579_stylight@conf.hipchat.com' 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

Deployment

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("http://10.0.0.25:8081/job/00_hubot_deployment/ buildWithParameters?token=<jenkinstoken>&GIT_COMMIT=#{sha}") .get()

Deployment

Jenkins measures

github release

Putting the pieces together msg.http("https://api.github.com/repos/stylight/stylight-web/releases") .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

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Agile Web Development & Operations – Shaping and ...

With http://www.stylight.com/Sandals/Women/ 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