• 请不要在回答技术问题时复制粘贴 AI 生成的内容
segmentfault
V2EX  ›  程序员

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

  •  
  •   segmentfault ·
    SegmentFault · Mar 31, 2015 · 7201 views
    This topic created in 4245 days ago, the information mentioned may be changed or developed.

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

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

    特点

    • 与 GitHub 深度整合,利用 GitHub API 读取相关部署指令,并及时反馈部署情况
    • 与人工部署不同的是,自动部署不会疲劳,也不会喊累,你永远可以不停地折腾它

    使用方法

    执行以下命令安装

    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     // 上线是否需要某人的确认,默认为空
            }
        ]
    }
    

    提交上线请求

    deploy

    20 replies  •  2015-04-01 18:29:09 +08:00
    qinkun1234
    qinkun1234
    Mar 31, 2015
    1
    这么好的东西 竟然没人回复
    WenJimmy
    WenJimmy
    Mar 31, 2015
    2
    收藏了
    segmentfault
    segmentfault
    OP
    Mar 31, 2015
    3
    @qinkun1234 大家都在忙着收藏
    fen
    fen
    Mar 31, 2015
    4
    无需在电脑边,用手机就可以处理上线操作了
    megoo
    megoo
    Mar 31, 2015
    5
    部署什么?
    megoo
    megoo
    Mar 31, 2015
    6
    kn007
    kn007
    Mar 31, 2015
    7
    好东西
    padthai
    padthai
    Mar 31, 2015
    8
    @qinkun1234

    知呼很多人扯淡nodejs不好

    其实什么都能干的
    kindlepaper
    kindlepaper
    Mar 31, 2015 via iPhone
    9
    楼主,这gif是什么做的啊
    RobberPhex
    RobberPhex
    Mar 31, 2015
    10
    说实话,用issue来作部署请求确实不太好,破坏了issue的语义。
    mcfog
    mcfog
    Mar 31, 2015
    11
    顶一下思路,棒棒的
    binarymann
    binarymann
    Mar 31, 2015
    12
    @kindlepaper 同问
    ipconfiger
    ipconfiger
    Mar 31, 2015
    13
    做个App来发起部署嘛
    iyaozhen
    iyaozhen
    Apr 1, 2015
    14
    @RobberPhex 赞同,我也觉得不妥。
    上线脚本都写好了,其它随便什么方式都可以部署吧。弄个微信公众号?看起来比这个更方便。
    9hills
    9hills
    Apr 1, 2015 via iPad❤️1
    15
    @RobberPhex 不算破坏。

    每次上线都是一个issue, 可跟踪可评论,相当好的创意。而且lz这个也支持指定的人review后才发起上线。
    f0rger
    f0rger
    Apr 1, 2015
    16
    这个挺好的,个人站点什么的可以随便部署。
    公司企业的站点,一般需要审批,不一定走github,很可能是内部的git源或者svn等。
    oppressed6370
    oppressed6370
    Apr 1, 2015 via Android
    17
    内部git svn用的多
    wh555s
    wh555s
    Apr 1, 2015
    18
    这必须顶~
    liubin
    liubin
    Apr 1, 2015
    19
    没看懂上线什么,貌似只有对issue的操作而已。
    所谓的上线,应该是把代码同步到线上环境吧。
    gamexg
    gamexg
    Apr 1, 2015
    20
    @liubin 配置文件里面有 "command": "xxx", // 上线脚本的命令。
    发现上线 issue 后会通过 ChildProcess.exec repo.command, (err, result, error) -> 执行命令并把嫁郭嘉到issus 里面。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1191 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 17:47 · PVG 01:47 · LAX 09:47 · JFK 12:47
    ♥ Do have faith in what you're doing.