2016-07-30 12 views
1

私は、アプリケーションのテストとマージ/デプロイを自動化したいと思います。アプリケーションテスト(phantomjs)の自動化とブランチのマージ

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

$ eslint ./ 

これらのテストはcompletly合格している場合は、私がマスターに開発ブランチをマージしたい:私はチンパンジーESLintを経由してテストするん

拳支店:

git checkout master 
git merge development 

これらの手順を自動化することは可能ですか?したがって、いずれかのテストが失敗した場合は、マージを行う必要はありません。

答えて

0

スクリプト内でこれらのステップを宣言し、他のコマンドを処理する前に各コマンドの終了ステータスをテストすることができます。

たとえば、javascriptコマンドを呼び出すプリコミットフックを使用できます。参照 "Commit in git only if tests pass"


しかし、一連のこの種は、(もちろんJenkinsTravisCircleCICodeShipとの)継続的インテグレーションツールに属します。

独自のビルドステップで各コマンドを定義することができます。失敗すると、他のステップは実行されません。あなたの$PATHtests.shスクリプトで

.git/hooks/pre-commit: 

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

、もしすべてがうまくとき終了ステータス0を返します。

+0

ただし、* Jenkins *はサーバー上で動作していますか?そして私はこれを地元でやりたいのですか?テストとマージの後、私はサーバーにデータをプッシュします。それともこれは意味がありませんか? – user3142695

+0

*これらのステップをスクリプトで宣言できます*:どのようなスクリプトですか?そして、このスクリプトにテストのステータスをどうやって得るのですか? – user3142695

+0

@ user3142695 Jenkinsサーバをローカルで使うことができます: 'java -war jenkins.war':done。 – VonC

関連する問題