一个上线自动部署的小工具

2015-03-31 16:38:19 +08:00
 segmentfault

给大家开源一个我们的上线自动部署的机器人,GitHub 好帮手,分分钟搞定上线。

项目地址: https://github.com/SegmentFault/deploy-robot

特点

使用方法

执行以下命令安装

npm install -g deploy-robot

使用以下命令启动脚本

deploy-robot -c config.json

config.json 文件

参考目录下的 config.json.sample 文件

{
    "username": "",     // 用户名
    "password": "",     // token,去 https://github.com/settings/applications 的 "Personal access tokens" 选项卡点击 "Generate new token",将获取的字符串填入这里

    "repos": [          // 需要监听 repo 列表
        {
            "user": "xxx",      // repo 所属用户名
            "name": "xxx",      // repo 名
            "labels": "xxx",    // 指定 issue 的 label
            "command": "xxx",   // 上线脚本的命令
            "confirm": null     // 上线是否需要某人的确认,默认为空
        }
    ]
}

提交上线请求

6006 次点击
所在节点    程序员
20 条回复
qinkun1234
2015-03-31 16:52:09 +08:00
这么好的东西 竟然没人回复
WenJimmy
2015-03-31 16:56:31 +08:00
收藏了
segmentfault
2015-03-31 17:01:57 +08:00
@qinkun1234 大家都在忙着收藏
fen
2015-03-31 17:02:17 +08:00
无需在电脑边,用手机就可以处理上线操作了
megoo
2015-03-31 19:56:02 +08:00
部署什么?
megoo
2015-03-31 19:57:29 +08:00
kn007
2015-03-31 19:57:45 +08:00
好东西
padthai
2015-03-31 20:23:08 +08:00
@qinkun1234

知呼很多人扯淡nodejs不好

其实什么都能干的
kindlepaper
2015-03-31 21:05:31 +08:00
楼主,这gif是什么做的啊
RobberPhex
2015-03-31 22:12:59 +08:00
说实话,用issue来作部署请求确实不太好,破坏了issue的语义。
mcfog
2015-03-31 23:06:15 +08:00
顶一下思路,棒棒的
binarymann
2015-03-31 23:23:18 +08:00
@kindlepaper 同问
ipconfiger
2015-03-31 23:26:15 +08:00
做个App来发起部署嘛
iyaozhen
2015-04-01 00:36:01 +08:00
@RobberPhex 赞同,我也觉得不妥。
上线脚本都写好了,其它随便什么方式都可以部署吧。弄个微信公众号?看起来比这个更方便。
9hills
2015-04-01 00:42:01 +08:00
@RobberPhex 不算破坏。

每次上线都是一个issue, 可跟踪可评论,相当好的创意。而且lz这个也支持指定的人review后才发起上线。
f0rger
2015-04-01 01:48:35 +08:00
这个挺好的,个人站点什么的可以随便部署。
公司企业的站点,一般需要审批,不一定走github,很可能是内部的git源或者svn等。
cyokvip
2015-04-01 08:10:13 +08:00
内部git svn用的多
wh555s
2015-04-01 08:39:09 +08:00
这必须顶~
liubin
2015-04-01 09:15:09 +08:00
没看懂上线什么,貌似只有对issue的操作而已。
所谓的上线,应该是把代码同步到线上环境吧。
gamexg
2015-04-01 18:29:09 +08:00
@liubin 配置文件里面有 "command": "xxx", // 上线脚本的命令。
发现上线 issue 后会通过 ChildProcess.exec repo.command, (err, result, error) -> 执行命令并把嫁郭嘉到issus 里面。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/180609

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX