如何在 git commit 上运行 shell 脚本

如何在 git commit 上运行 shell 脚本

1)

我有一个 shell 脚本,其中基本上包含一些(数据库测试和集成测试代码),

但是每当我的 git repo 中有提交(或任何更改)时,我都必须运行这个 shell 脚本,脚本应该执行,我该如何实现这一点

操作系统 Debian 6.0.1 amazon ec2

我正在尝试使用 Travis 之类的工具进行持续集成。

2)

在 Debian 之类的操作系统中进行 GUI 测试,selenium 和 casper.js 哪个更好

或者还有其他更好的选择

所以请帮助我

答案1

作为第一个问题的答案:您想使用 git-hooks。在存储库服务器上,浏览到裸 git repo 目录并修改文件hooks/post-commit(并使用 使其可执行chmod +x hooks/post-commit

#!/bin/bash

read oldrev newrev refname
## Debugging stuff
#echo "Old revision: $oldrev" >> /home/git/push_log.txt
#echo "New revision: $newrev" >> /home/git/push_log.txt
#echo "Reference name: -${refname}-" >> /home/git/push_log.txt

command_line_script__or_command_to_run_travis_integration.sh

这会在您每次在存储库中提交时启动脚本。 有许多不同类型的钩子,它们都记录在 中man githooks。 您可能还想看看post-receive,它会在您每次推送到存储库时运行脚本。

相关内容