Automation and Monitoring with Hubot
Automation and Monitoring with Hubot
Minimum price
Suggested price
Automation and Monitoring with Hubot

Last updated on 2014-09-29

About the Book

This book covers everything you need to start using Hubot in your organization - installation on Linux, production grade deployment and init.d scripts. You will understand how Hubot scripts work, how to deal with dependencies, how to install new scripts and adjust them to suit your needs.

You will also learn to write and debug your own scripts, ranging from simple ones with just a few lines of code, to advanced ones that integrate several systems together.

There is a whole chapter for those who use GitHub - Hubot can do many wonderful things using GitHub API and web hooks. The book will show you ways to automate your infrastructure tasks and deployments using Jenkins, ways to integrate with numerous systems and services.

This knowledge was extracted from real world use and compacted into a single book. You can use it as a cookbook and pick just the things you need, or you can read it cover to cover and learn everything you can about using Hubot to full extent.

About the Author

Tomas Varaneckas
Tomas Varaneckas

Tomas Varaneckas is a software developer and devops engineer who open sourced a number of scripts for integrating Hubot with tools like Jenkins CI, GitHub and Graylog. Among his other creations there is Hubot Control - a tool for managing multiple Hubot instances using a web interface, and Hubot PubSub - a solution for building flexible chat based monitoring. 

Table of Contents

  • A Word From The Author
  • Preface
  • Run, Hubot, Run!
    • The Operating System
    • Installing Dependencies
    • Installing Hubot
    • Creating System User For Hubot
    • Creating Your First Hubot
    • Exploring Your Hubot Instance
  • Configuring Adapters
    • Choosing The Chat Service
    • Campfire
    • HipChat
    • IRC
    • XMPP/Jabber
    • Slack
    • Skype
  • Deploying Hubot To Production
    • Creating Hubot Instance For Production
    • Hubot And Source Control Management
    • Checking Hubot Into Git
    • Handling Environmental Variables
    • Hubot As A Daemon
    • Managing Hubots With Hubot Control
  • Using Hubot Scripts
    • Getting Help
    • Where To Find Scripts
    • Enabling Bundled Scripts
    • Installing Script Dependencies
    • Installing Script Packages
    • Configuring Scripts
    • Uninstalling Scripts
  • Hubot Scripting
    • Hello, World!
    • Basic Operations
    • Reacting To Messages In Chatroom
    • Reacting To Message Parts
    • Capturing All Messages
    • Capturing Unhandled Messages
    • Serving HTTP Requests
    • Cross Script Communication With Events
    • Periodic Task Execution
    • Debugging Your Scripts
    • Advanced Debugging With Node Inspector
    • Writing Unit Tests For Hubot Scripts
    • Hubot Script Template
    • Using Hubot Shell Adapter For Script Development
    • Developing Scripts With Hubot Control
    • Learning More
  • Roles And Authentication
    • Setting Hubot Auth Admin
    • Assigning Roles
    • Applying Roles
  • Restricting Command Execution
    • Restricting Execution To Certain Rooms
    • Limiting Execution Hours
  • Monitoring With Hubot
    • Hubot PubSub
    • Alternative To Hubot PubSub
    • Installing Hubot PubSub
    • Subscribing To Event Notifications
    • Publishing Events
    • Using Event Namespaces For Advanced Message Routing
    • Handling Unsubscribed Events
    • Securing Hubot PubSub
    • Publishing Events From Ruby
    • What And When To Monitor
    • Monitoring Error Rates With Graylog2 Alarms And Hubot PubSub
    • Receiving Nagios Alerts
  • Graphing With Hubot
    • Graphite
  • GitHub Integration
    • Putting An End To GitHub Email Notifications
    • Why Not Just Use GitHub Service Hooks?
    • Creating Auth Tokens
    • Creating GitHub API Hooks
    • Listing And Deleting GitHub API Hooks
    • Pushes
    • Issues
    • Pull Requests
    • Team Add
    • Membership
    • Automatically Closing Old GitHub Issues
  • GitLab Integration
    • Creating Web Hooks
    • Pushes
    • Issues
    • Merge Requests
  • Building And Deploying With Hubot And Jenkins
    • Notifying About Broken Jenkins Builds
    • Executing Jenkins Builds
    • Passing Parameters To Jenkins Builds
    • Deploying With Jenkins
  • Invoking Chef’s Knife With Hubot
    • Configuring Knife
    • Hubot Chef Script
    • Advanced Hubot Chef Script
    • Third Party Hubot Chef Scripts
    • Hubot With Puppet, Ansible, Or Something Else
  • There Are No Limits

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub