LoginSignup
28
27

More than 5 years have passed since last update.

hubotでデプロイ用のpull requestを作るプラグイン、hubot-deploy-builderを作成しました

Last updated at Posted at 2015-09-15

はじめに

Hubotでデプロイ用のpull requestを作るプラグイン、hubot-deploy-builderというものを作成しました。

弊社では、以下のようなルールで開発を行っています。

  • masterにマージが行われたことをトリガーとして本番デプロイが走る
  • masterへのマージは、原則的にdevelopブランチからのみ行われる(developブランチが各開発者の開発したものをマージして、ステージング環境にデプロイしてテストするためのブランチ)

デプロイ時に毎回develop => masterへのpull requestを作るのが面倒だったので、chatops化しました。

やってくれること

  • developからmasterへのpull requestを作成する
  • developにマージされたpull requestのサマリをdescriptionに書く

コマンド

hubot deploy #{repo名} で、そのリポジトリのdevelopからmasterへのpull requestを作成します。すでにそのpull requestが存在している場合、上書きしてサマリを作り直します。差分が存在しない場合はエラーを表示します。

使用イメージ

  • 成功

150914-0009.png

↓ GitHub上では

150914-0010.png

  • 失敗

150914-0008.png

※ tonjiruはbotの名前です

インストール

READMEどおり、以下のように追記してください。

package.json
"dependencies": {
  "hubot-deploy-builder": ">=0.1.0"
}
external-scripts.json
["hubot-deploy-builder"]

以下の環境変数が必須なので入れてください。

  • HUBOT_GITHUB_TOKEN

GitHubのアクセストークン

  • HUBOT_GITHUB_USER

上記アクセストークンと紐づくGitHubのユーザ名

  • HUBOT_GITHUB_ORG

GitHub組織名

カスタマイズ

以下の内容を環境変数でカスタマイズできます。

  • HUBOT_DEPLOY_MESSAGE

pull request作成時のメッセージ。デフォルトは"Let's deploy it!"

  • HUBOT_NO_DIFFERENCE_MESSAGE

pull request作成時に、2つのブランチ間に差分がなかった時のメッセージ。
デフォルトは"There is no difference between two branches :("

  • HUBOT_PR_EXISTS_MESSAGE

pull request作成時に、該当のpull requestが既にあった場合のメッセージ。
デフォルトは"This pull request already exists."

  • HUBOT_BRANCH_FROM

pull requestのマージされる側となるブランチ。デフォルトはdevelop

  • HUBOT_BRANCH_TO

pull requestの取り込みを行う側のブランチ。デフォルトはmaster

プラグインを作るのに参考にさせていただいたサイト

28
27
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
28
27