LoginSignup
15
15

More than 5 years have passed since last update.

Capistrano3でデプロイしたらChatWorkに通知する

Last updated at Posted at 2014-06-16

イケてるエンジニアなら、capistranoでデプロイしたらHipChatに通知するなんてことをやっていると思います。
ただ、会社でChatWorkは使ってるけど、HipChatつかってないって人もいるじゃないんでしょうか?

HipChatが無いならChatWorkに通知すればいいじゃないとググってみたらありました。

mitukiii/capistrano-chatwork

まあREADMEみればわかると思いますが、軽く導入方法を説明しておきます。

1. Capistrano用のディレクトリを作成

適当に作業用のディレクトリを作成します。
今回はcwtestって名前のディレクトリを作成します。

$ mkdir -p ~/capistrano/cwtest
$ cd ~/capistrano/cwtest

2. Gemfileを作成

以下のような中身を作成しておきます。

source "https://rubygems.org"$
gem 'capistrano', '~> 3.1'$
gem 'capistrano-chatwork'$

あとはbundle installを実行しましょう。

3. Capistranoの設定を行う

まずはCapistranoのファイルを用意する

$ bundle ex cap install

Capfileに以下のように記述

# Load DSL and Setup Up Stages
require 'capistrano/setup'

# Includes default deployment tasks
require 'capistrano/deploy'

# ChatWork 
require 'capistrano-chatwork'

Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

あとはconfig/deploy.rbにChatWork APIの情報を記述します。

config/deploy.rb

lock '3.2.1'

set :application, 'testapp'
set :repo_url, 'git@github.com:polidog/symfony2bss.git'
set :deploy_to, '/var/www/vhost/test'


## ChatWork
set :chatwork_api_token, 'APIキーを入力'
set :chatwork_room_id, 'ルームID'

4. デプロイを行ってChatWorkへ通知を行う

$ bundle ex cap production deploy

これでChatWorkに以下のように通知がくると思います。

スクリーンショット 2014-06-17 1.39.17.png

通知メッセージカスタマイズする

デフォルトのメッセージだと味気ないのでメッセージ内容をちょっと変えましょう。
config/deploy.rbのなかで以下の設定をします。

config/deploy.rb

lock '3.2.1'

set :application, 'testapp'
set :repo_url, 'git@github.com:polidog/symfony2bss.git'
set :deploy_to, '/var/www/vhost/test'


## ChatWork
set :chatwork_api_token, 'APIキーを入力'
set :chatwork_room_id, 'ルームID'
++ set :chatwork_deploy_started_message, "[#{rails_env}]へデプロイを開始します。ブランチ:#{deployment_name}, ユーザ(#{user}) :):):):)"
++ set :chatwork_deploy_finished_message, "[#{rails_env}]へのデプロイが完了しました。ブランチ(#{deployment_name}), ユーザ(#{user}) (beer)(beer)(beer)(beer)"
++ set :chatwork_deploy_failed_message, "[#{rails_env}]へのデプロイが失敗しました。 ブランチ(#{deployment_name}), ユーザ(#{user}) (devil)(devil)(devil)(devil)"

こんな感じに変更してデプロイを行えば以下のようになります。
kobito.1402937690.382290.png

絵文字も使えるのでちょっと楽しいですね!

メッセージで使用可能なメソッド

メソッド名 説明
user gitの設定ファイル、または環境変数からユーザー名を取得する
deployment_name ブランチ名または、application変数から取得する
rails_env rails_env変数から値を取得する

こんな感じですかね。。間違ってたらごめんなさい。

最後に

非常に簡単にChatWorkへの通知ができるのでぜひ興味があるかたは使ってみてださい!

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15