2017-07-10 7 views
0

私はRuby/CucumberとAppiumを使用して、Jenkinsサーバー上の各ビルドの後に自動テストを実行しています。新しいビルドがプッシュされた場合、Jenkinsはキュースクリプトを強制終了します

私は実際に成功したすべてのビルドの後に私たちの回帰スイートを実行するジョブをセットアップしています。私のキュウリのテストが実行され、新しいビルドが成功すると、私の問題が発生します。

現在、Jenkinsはキュウリスクリプトで新しい一連のテストを開始しますが、古いスクリプトを強制終了することはありません。これは、すべてのキュウリの報告に複数の偽陰性を示しています。ジェンキンスは、新しい一連のテストを開始する前にキュウリを止めるスクリプトを実行するように規定する方法はありますか?

何かお手伝いしてくれてありがとうございました。ジェンキンスの具体的な設定方法について質問がありましたら、お気軽にお問い合わせください。

答えて

1

技術的には、Jenkins Jobは、1つのジョブのインスタンスが完了するまで別のインスタンスを開始するまで待機します。だから、最初のものが完成する前に別のビルドを始めることについて心配する必要はありません...

新しいもののセットを開始したい場合は、古い/既存のテストケースをどうやって削除するのですか?

実際のテストがトリガされる前にクリーンアップスクリプトを実行することをお勧めします。テストはレーキまたはダイレクトキュウリコマンドを使用してトリガされるでしょうと推測しています。したがって、これが発生する前に、cleanup.shを実行してください。
1)appiumサーバーを再起動してください。
2)実行中のルビープロセスを強制終了します。
3)キュウリ処理を停止する。

スクリプトは次のようになります。

kill -9 $(ps -ef | grep \[a]ppium | awk '{print $2}') 
kill -9 $(ps -ef | grep \[r]uby | awk '{print $2}') 
kill -9 $(ps -ef | grep \[c]ucumber | awk '{print $2}') 

# restart appium again 
appium &  

はそれが役に立てば幸い!あなたが問題に遭遇した場合、私にコメントでお知らせください。:)

関連する問題