介绍
hubot-shipit2 是一个基于 hubot 的自动化部署工具,可以通过简单的命令实现部署、回滚、重启等操作。它提供了一些预设的命令,可以很方便地实现不同环境的部署,支持自定义部署流程及命令。
安装
首先需要安装 hubot,如果已经安装可以直接跳过该步骤。
npm install -g yo generator-hubot
安装完后,使用 yo 命令创建 hubot 项目:
mkdir myhubot cd myhubot yo hubot
按照提示一步步进行,创建完毕后可以在 myhubot 目录下看到 hubot 的基本项目结构。
接着安装 hubot-shipit2:
npm install hubot-shipit2 --save
将 hubot-shipit2 添加到 external-scripts.json 中:
[ "hubot-shipit2" ]
运行 bin/hubot
启动 hubot。
使用方法
以下是 hubot-shipit2 提供的预设命令:
ship it
:用于在默认环境下进行部署ship it to <environment>
:指定环境进行部署,例如:ship it to stagingship it back
:回滚到上一个版本ship it back to <revision>
:回滚到指定版本ship it restart
:重启应用
hubot-shipit2 默认支持两个环境:staging 和 production。如果需要添加新的环境,可以编辑 scripts/shipit.js 文件,添加相应配置。
例如添加一个新的环境 dev:
-- -------------------- ---- ------- -------------- - -------- ------- - -------------- -------- - ---------- --------------- --------- ----------- -------------- ------------------------------- -------- -------- ---------------- ------ --------- -- -------- - -------- --------------------------- ------- ---------- ------------ --------- -- ----------- - -------- ------------------------------ ------- ------------- ------------ ------------ -- ---- - -------- ----------------------- ------- ------ ------------ ----- - --- --
其中,dev 配置是新增的,servers 指定了部署服务器,branch 指定了部署的 Git 分支,environment 是环境名称,可以自定义。
自定义部署流程也非常简单,只需新增一个任务即可:
-- -------------------- ---- ------- -------------- - -------- ------- - -------------- -------- - ---------- --------------- --------- ----------- -------------- ------------------------------- -------- -------- ---------------- ------ --------- -- -------- - -------- --------------------------- ------- ---------- ------------ --------- -- ----------- - -------- ------------------------------ ------- ------------- ------------ ------------ -- ---- - -------- ----------------------- ------- ------ ------------ ------ ------ - ---- --------- ---- --- ------- ---- ------- ---- - - --- --
自定义的任务会在部署完成后自动执行。
总结
hubot-shipit2 是一个非常实用的自动化部署工具,可以大幅度减少部署工作的时间和难度。通过本文的学习,我们了解了 hubot-shipit2 的安装、使用方法和自定义配置。希望本文能帮助到大家。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d1181e8991b448daa79