GitHub
Hubot

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

More than 3 years have passed since last update.


はじめに

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

https://github.com/rockuapps/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


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