Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
15
Help us understand the problem. What is going on with this article?
@polidog

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

More than 5 years have passed since last update.

イケてるエンジニアなら、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
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
polidog
web系エンジニアです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
15
Help us understand the problem. What is going on with this article?