我有2台服务器
我正在尝试让trac根据git commit消息更新票证。
我知道有一个post-receive挂钩,但只能在服务器1上运行
如何告诉服务器2运行trac-admin changeset added cmd?
此外,如果我在服务器2上创建了git repo的克隆,那么我将使用git pull cmds,这反过来会调用合并后的钩子但是这似乎没有使用相同的stdin参数调用post-receive hook有。
有没有办法设置服务器1来运行ssh cmd或将数据有效负载发送到服务器2上的web cgi脚本,该脚本在克隆的repo上执行pull请求并继续执行trac-admin changeset added cmd ?
答案 0 :(得分:0)
trac-github有一个GitHub webhook的请求处理程序,它执行git update
(git.remote('update', '--prune')
),然后运行 changeset added (rm.notify('changeset_added', reponame, added)
) 。您可以编写一个响应请求的小插件并执行相同操作,并使用post-receive
从curl
挂钩发送请求。
但是,从主存储库push to the mirror repository可能更简单,并让镜像运行post-receive
挂钩以将更改集同步到Trac。