自动执行应用程序测试(phantomjs)和合并分支
问题描述:
我想自动测试和合并/部署我的应用程序。自动执行应用程序测试(phantomjs)和合并分支
拳我通过黑猩猩和ESLint测试:
$ chimp --ddp=http://localhost:3000 --mocha --path=tests --browser=phantomjs
和
$ eslint ./
如果这些测试都通过完全地,我想发展的分支合并到主分支:
git checkout master
git merge development
是否可以自动执行这些步骤?因此,如果任何测试失败,则不应该进行合并。
答
您可以在脚本中声明这些步骤,在处理其他命令之前测试每个命令的退出状态。
例如,你可以有一个预先提交钩子调用你的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。
但是不是例如*詹金斯*在服务器上工作的东西?我想做这个地方?在测试和合并之后,我会将数据推送到服务器。或者这没有任何意义? – user3142695
*你可以在脚本中声明这些步骤*:什么样的脚本?我怎样才能将测试的状态加入到这个脚本中? – user3142695
@ user3142695您可以在本地使用Jenkins服务器:'java -war jenkins.war':完成。 – VonC