Automation and Monitoring with Hubot cover page

Automation and Monitoring with Hubot

Automation and Monitoring with Hubot

For DevOps and Developers

You will learn how to turn your company chat into DevOps tool by automating workflows and building advanced monitoring systems using Hubot. Once you see how it works, you will never want to get back to the old ways of deploying code manually and reading tons of emails to find out about broken builds, new GitHub Issues or Pull Requests.
Automation and Monitoring with Hubot Edit


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.

Read more

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

Read More

About the Author

Other books by this author

The Leanpub Unconditional, No Risk, 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks. We process the refunds manually, so they may take a few days to show up.
See full terms