2016-07-30 79 views
1

我想自动测试和合并/部署我的应用程序。自动执行应用程序测试(phantomjs)和合并分支

拳我通过黑猩猩ESLint测试:

$ chimp --ddp=http://localhost:3000 --mocha --path=tests --browser=phantomjs 

$ eslint ./ 

如果这些测试都通过完全地,我想发展的分支合并到主分支:

git checkout master 
git merge development 

是否可以自动执行这些步骤?因此,如果任何测试失败,则不应该进行合并。

回答

0

您可以在脚本中声明这些步骤,在处理其他命令之前测试每个命令的退出状态。

例如,你可以有一个预先提交钩子调用你的JavaScript命令。请参阅 “Commit in git only if tests pass


但这种序列属于持续集成工具(TravisCircleCICodeShip,当然Jenkins)。

您可以在其中定义每个命令在其自己的构建步骤中:如果一个失败,其他步骤将不会执行。

.git/hooks/pre-commit: 

#!/bin/sh 
tests.sh || exit 1 

随着tests.sh脚本在$PATH,如果一切顺利的时候返回的退出状态0。

+0

但是不是例如*詹金斯*在服务器上工作的东西?我想做这个地方?在测试和合并之后,我会将数据推送到服务器。或者这没有任何意义? – user3142695

+0

*你可以在脚本中声明这些步骤*:什么样的脚本?我怎样才能将测试的状态加入到这个脚本中? – user3142695

+0

@ user3142695您可以在本地使用Jenkins服务器:'java -war jenkins.war':完成。 – VonC

相关问题