2016-07-30 69 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

相關問題