10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話 Masataka Kono
I've recently been building an IRC server for work, alongside other things, which finally gave us the chance to deploy an instance of hubot, githubs automation/procrastination IRC bot. It was also a good way to force myself to install a CentOS 7 box and get to grips with systemd, something I should have done a long time ago. First major issue I hit was that hubot didn't have a unit file that I cou
hubot-scheduleって? hubotで動作するスケジューラです。 cron形式と日時形式の2つの形式でメッセージをスケジュール登録できます。 使い方 コマンド一覧 Hubot> hubot help schedule Hubot schedule [add|new] "<datetime pattern>" <message> - Schedule a message that runs on a specific date and time Hubot schedule [add|new] "<cron pattern>" <message> - Schedule a message that runs recurrently Hubot schedule [cancel|del|delete|remove] <id> - Cancel the schedule Hubot s
Hubot Advent Calendar 2014 14日目の記事です。 2014/12/13、リクルート本社で行われた Qiita API v2 Hackathon で、Chat 日報 なるワークフローを発表しました。 ありがたいことに、優秀賞をいただき、Kindle Voyage がいただける様です。 Hackathon のテーマ 今回の Hackathon のテーマは、Qiita APIv2を利用して毎日の開発が楽しくなるツールの開発 とのことでした。 開発は、ほっておいても楽しい ので、開発に当てる時間をより多く取れる様に、日報の作成を楽にする、という目的で開発しました。 作ったもの Qiita API v2 が発表されてすぐ、Hubot スクリプト hubot-qiita 開発に着手したのですが、業務内では別業務、業務外では CI2Go を作成していたので、未完成のまま塩漬けに
「サンプルアプリケーションに対して修正を行う」シーンを例に、Hubotと各ツールがどう連携するかを解説しながら進めていきます。 サンプルアプリケーションは「Spark」という、Rubyの軽量Webフレームワークである「Sinatra」を参考にして作られたJavaベースのフレームワークを使い、「Hello World!」と表示するだけの簡単なWebアプリケーションを作成しました。サンプルアプリケーションの中身については、次回解説します。 タスク管理は「Redmine」で行います。サンプルアプリケーションに機能を追加する前に、Redmineにチケットを作成します。チケットの作成や更新情報もチャットに流したいので、先に設定しておきましょう。 バージョン管理はGitHubそっくりなUIと機能を提供している「GitBucket」(Scala製)で管理し、ビルドやデプロイは「Jenkins」で行います
最近Hubotの導入をしている。今回はHubotを導入したらikachanというツールの代替も出来たのでそのメモ。 ikachanとは http://blog.yappo.jp/yappo/archives/000760.html https://github.com/yappo/p5-App-Ikachan ikachanとは、HTTPのAPI経由でIRCに対してメッセージを送るように出来るようになるPerl製ツール。ikachanはdaemonとして動き、特定portでLISTENされるので、そこにcurlなどを使ってPOSTすると簡単にIRCにメッセージを送れる。これまで様々な人がIRC botを作って、投稿する部分を実装していたのだけど、ikachanがproxyとしてHTTP APIを提供してくれるので、それを起動しておいてHTTP APIを叩くだけでひとまずメッセージを送る部分
2014-11-01Hubot を使ってグラフ画像を生成するスクリプトを作ってみました。Heroku + PhantomJS + Chart.js で動きます。PhantomJS + Chart.js => PNG 画像化ざっくりと動作内容をまとめると子プロセスを生成し、PhantomJS を起動PhantomJS でHTML ドキュメント (canvas) を生成Chart.js を使って canvas 内でグラフを描画グラフのレンダリング完了後 (onAnimationComplete) に画像化/tmp ディレクトリにグラフ画像を保存 (Heroku の制約)robot.router を使って /tmp 内の画像URL を発行PhantomJS で処理しているスクリプトは module/phantomjs-script.coffee です。インストールnpm では配布していないので、
Hubot、前職から色々試して運用してきたが、1年半ぐらいいろいろいじくってるのもあってそろそろ一旦まとめてみたい感じ。 Hubotに関しては hubot/docs at master · github/hubot · GitHub あたりは一通り斜めに読んだが、「僕はこう思ったッス」ぐらいな感じでやっているコードや運用が多いので、適宜マサカリングしていただければと。 便利スクリプトのご紹介 とりあえずこんなの書いた自慢から。 リンク自動で取るやつ request = require('request') cheerio = require('cheerio') URI = require('URIjs') module.exports = (robot) -> getTitle = (msg, uri) -> request uri, (err, response, html) -> i
Forkwell のエンジニアの1人、正徳です。先日、入社した馬です。 最近Hubotでbotを作り始めて、朝会を通知させたり、Github Issueの件数を喋らせたり、と遊んでいます。 Hubotの記事はググればたくさん出てきて、喋らせるのはとても簡単です。ところが「Hubotでテストを書く方法」となると、情報がほとんど出てきません。 ChatOpsをやっているエンジニアが、まさかテストコードを全く書かずにbotを開発してる訳がないと思いますが、不思議と記事が見つかりません。 先人のブログなどが無かったので、自分で四苦八苦しつつ、なんとかTDDでHubot開発できる環境が作れたので、ブログにまとめてみました。 目次 Hubotでbotを作る方法 テスト用にモジュールを入れる mocha の実行方法 greet のテストを書く cron のテストを書く time モジュールを使っている
2014-10-24 relux の Loco Partners さん主催で行われた Slack x Hubot 勉強会で発表した資料です。 Kaizen Platform での Hubot 活用事例 という表題ですが、終盤は会社の活用事例ではなく、個人の趣味の発表です。 スライド内の参照先 roadworker ChatOpsでOSのセキュリティアップデートを自動化出来るようにした - Glide Note hubot-cloudfront Hubot を使って CloudFront の Distribution 一覧・Invalidation 作成を行う hubot-cloudfront hubot-jira-lotto Hubot JIRA おみくじで担当者の選定をランダムに行う hubot-irkit スライド内の動画 Raspberry PI と Hubot で観葉植物の水やりを
はじめまして。 さっそく弊社CTOの記事でネタにされてますが、Slack導入されてテンション上がっているエンジニアのasmzです。好物はアサヒスーパードライです。 さてところで、何でこの飲んだくれエンジニアがまだシラフのくせにSlack導入されてテンション上がっているのかというと、SlackはHubotと連携してボットを動かす事ができるんですね。 Slack上でボット動かすことで、以下のようにいろいろ楽しいことができるそうなんですよ。 チームの効率を最大化!nanapi流ChatOpsの取り組み チャットで勤怠管理する「みやもとさん」をリリースしました ただのボットに留まらぬこのポテンシャル、見逃す手はないですよねー。 弊社のSlackにはCTOが「otobot」という名前のHubotを入れてくれたので、このotobot君を愛すべきマスコットキャラに育て上げるべく、我々エンジニアが頑張らな
Hubot触ってみようと思って、いろいろ動かして見たのでメモ。 参考になるURL https://github.com/github/hubot/tree/master/docs http://nanapi.co.jp/blog/2014/06/04/slack_with_hubot/ http://odoruinu.net/blog/2014/07/08/how-to-integrate-self-hosted-hubot-with-slack/ https://github.com/tinyspeck/hubot-slack Hubotのrepositoryを作る https://github.com/github/hubot/tree/master/docs これのとおりに hubot --create shibabotとかすると作れる。 bin/hubotとかして動けばひとまず良い
概要 Slack / Hubot / GitHub / CircleCI などをつかってChatOpsにチーム開発できるフローをつくったので、ChatOpsによるデプロイ方法を中心にその方法をまとめてみます。 ChatOpsの主役であるチャットアプリには今回Slackを使いました。 HipChatでも同じように出来ますが、Slackの方がUIが優れていており、外部サービスとの連携も洗練されていたのでこちらを選択しました。 ChatOpsな環境の概要 SlackとHubot(PaaSであるheroku上にデプロイ)を連携させる SlackからHubot経由でGitHubにプルリクエストをつくる GitHub上の変更を監視し、CircleCIでテストを実施 デプロイ用のブランチに変更があった場合(GitHubのWEBコンソールでデプロイ用ブランチへのプルリクエストをマージした場合)、Circl
先日@naoya_itoさんが自身のブログ(インフラの継続的デリバリー)でKAIZEN platform Inc.のインフラについて書いていたやつの続編的な内容。 TL;DR Chat(Slack) + Hubot + CircleCI + GitHub を用いてセキュリティアップデートを自動化した GitHubのPull Requestを契機にセキュリティアップデートを実行できるようにした CircleCIが大変便利。インフラ系の作業を自動化するのに非常に合っている気がする 背景 KAIZEN platform Inc.では、 ネットワーク脆弱性スキャン アプリケーション脆弱性スキャン セキュリティアップデートの定期実行 の3つをセキュリティ系タスクとして継続的にやっていこうという話になり、今回は私が担当した、「セキュリティアップデートの定期実行」の話。 RHEL系OSにはyumの自動更
2014 9月6日 19:43 LT駆動開発で hubot をつかったオフィスに誰がいるかわかるコマンドを作成した話をした LT駆動開発07 でLTしてきた。 今回は hubot をつかってオフィスに誰がいるのかわかるようにした。 どうしてそんなことをしようとするのか、そして簡単に仕組みを紹介しました。 みんなが積極的に関わろうとするにはどうするのか。 おもしろかったり便利だと思うことをやること。 興味をもってもらうことだ。 オフィスには人がいたりいなかったりで、「誰かいたらいこうかなー」とか思うこともあるので完全に俺得である。 スライド内のデモ動画はこちらにあります。 結構みんなつかっていて、コンボも流行っている。 そのコマンドは突然のおるんかとかですね。 デモにいれておけばよかった。 仕組みはMACアドレスをつかっていて、みんなノートPCなのでなかなかうまくいっている。 最初はデーモン
近年、ソフトウェア開発を取り巻く環境が急激に変化してきています。ネットワークの整備や、コミュニケーションツールの進化に伴い、リモートワークやインターネット上での協業も盛んに行われるようになってきました。チームメンバー全員の住んでいる国が違う、といったこともあるかもしれません。 しかし物理的に離れた環境で働くと、今まで対面で行っていたコミュニケーションを別の手段で代替しなければなりません。SkypeやGoogleハングアウトなどのビデオ通話、HipChatやSlackなどのチャットアプリを利用することで仕事上必要なコミュニケーションは取れるようになりますが、ソフトウェア開発に関わる状況確認は別のツールを使う必要があります。 特にオペレーションは、いつ、誰が、どのような対応をしたか把握していたいですよね。 このような課題を解決する一つのスタイルとして、「ChatOps」があります。ChatOp
hubot pick (an) assignee (for) <ISSUE-NUMBER> from <ASSIGNEE-GROUP> <ASSIGNEE-GROUP> で指定されたグループから担当者をランダムに選定します。 既にアサインされた該当のプロジェクトの課題の数で傾斜がかかります。 設定 heroku config:set \ HUBOT_JIRA_LOGIN=hubot \ HUBOT_JIRA_PASSWORD=password \ HUBOT_JIRA_DOMAIN=myjira.atlassian.net この Hubot スクリプトは、ログインアカウントに 管理者権限が必要です。 ログインアカウントを administrators グループに追加してください。 JIRA のユーザー名をチャットのユーザー名に変換する もし、お使いのチャットアダプター (Campfire,
// Description: // Yudoufu blog notifier module.exports = function (robot) { var msgs = [ 'ブログ書いた?', 'ブログ...書いてょ(ヽ´ω`)', 'ブログは?(*´ω`*)', '元気?', 'ブログ更新したかな〜', 'いつになったら...ブログ書いてくれるの?', '更新は今日かな? 明日かな? ((o(´∀`)o)) ', ]; var room = "xxxxyour-room-idxxxx@conf.hipchat.com" var sendMsg = function () { var currentMessage = "@yudoufu " + msgs[Math.floor(Math.random() * msgs.length)]; robot.messageRoom(room
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く