我想自动化测试和合并/部署我的应用程序。
拳头我通过 Chimp 和 ESLint 进行测试:
$ chimp --ddp=http://localhost:3000 --mocha --path=tests --browser=phantomjs
和
$ eslint ./
如果这些测试完全通过,我想将开发分支合并到主分支:
git checkout master
git merge development
是否可以自动执行这些步骤?因此,如果任何测试失败,则不应进行合并。
答案 0 :(得分:0)
您可以在脚本中声明这些步骤,在处理其他命令之前测试每个命令的退出状态。
例如,您可以使用预提交挂钩调用您的javascript命令。请参阅" Commit in git only if tests pass"
但是这种序列属于持续集成工具(Travis,CircleCI,CodeShip,当然还有Jenkins)。
您可以在自己的构建步骤中定义每个命令:如果一个命令失败,则其他步骤不会执行。
.git/hooks/pre-commit:
#!/bin/sh
tests.sh || exit 1
tests.sh
中有$PATH
个脚本,如果一切顺利,则返回退出状态0。