xatest
V2EX  ›  Puppet

puppet有没有办法接收通知来触发部署?

  •  
  •   xatest · Jul 2, 2013 · 5233 views
    This topic created in 4872 days ago, the information mentioned may be changed or developed.
    比如接收HTTP POST请求,触发puppet部署。没有查到相关的资料。
    11 replies  •  1970-01-01 08:00:00 +08:00
    henryzhou
    henryzhou
    Jul 2, 2013
    1
    如果要发送消息的话,考虑下mcollective+rabbitmq? 然后封装下mco命令,用http触发。。。
    rrfeng
    rrfeng
    Jul 2, 2013
    2
    自己写一个呗,通过另一种方式比如通知 shell 执行 puppet kick
    不过貌似 kick 被砍掉了&……
    sykp241095
    sykp241095
    Jul 2, 2013
    3
    不知道原始需求是什么。

    但看起来像主动出发一次执行,那就是一个rpc了。

    用nrpe等就可以。
    xatest
    xatest
    OP
    Jul 2, 2013
    4
    @sykp241095 原始需求是代码git push到bitbucket之后,bitbucket会发送HTTP POST请求(这一步没办法使用git server hook),然后puppet master接收到请求,触发git pull最新代码来部署到puppet agent。
    sykp241095
    sykp241095
    Jul 2, 2013
    5
    那就是在post-commit里执行一次rpc调用远端的puppet就可以了。
    hfeeki
    hfeeki
    Jul 3, 2013
    6
    你应该试一试 Fabric(Python): http://docs.fabfile.org/en/1.5/
    is
    is
    Jul 3, 2013
    7
    随便写个支持Webhook的Web server然后触发调用puppet就好了把.
    puppet不然用mcollective,不然就是写脚本每个agent上执行一次
    runonce操作.
    v8ex
    v8ex
    Jul 3, 2013
    8
    @hfeeki Fabric+1
    xatest
    xatest
    OP
    Jul 3, 2013
    9
    @hfeeki @v8ex Fabric跟Puppet还是有些不同,可以说功能上,Fabric只是Puppet的子集。Puppet包含了配置管理的功能,很少需要关心执行的过程,Fabric的作用只相当于Puppet里的MCollective这个组件。
    chemhack
    chemhack
    Jul 3, 2013
    10
    用ansible呗。。。

    puppet那个poll模型很有问题
    polythene
    polythene
    Jul 3, 2013
    11
    ansible +1
    ansible还是挺不错的,dead simple
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4058 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:03 · PVG 09:03 · LAX 17:03 · JFK 20:03
    ♥ Do have faith in what you're doing.