0

私はFirebase tutorial on Continuous Integrationに従っています。Semaphore CIプロセスの成功後のFirebaseのデプロイ

これらの例ではtravisを使用していますが、CIの選択肢はSemaphore Coです。私はfirebase deploy --token $FIREBASE_TOKENステップで立ち往生しています。セマフォの成功フックの後のどのような方法でもこれを引き起こす方法が見つからないようです。彼らは仕事をしていますが、失敗したビルドでも起動されます。そのため、そのステップを使用してデプロイしたくないので、すべてのテスト/ビルドが終了した後にのみデプロイします。

答えて

1

セマフォは、$FIREBASE_TOKENの場合と同様に、コマンドの条件付き実行に使用できるいくつかの環境変数をエクスポートしています。

ジョブの後にコマンドを追加する場合は、ジョブのステータスを確認できます。成功した場合はdeployコマンドを実行できます。それ以外の場合は実行できません。あなたは「マスター」のBrach上とビルドが渡された場合、たとえばいる場合にのみ、「IF」の文、およびトリガー展開にブランチ名を追加することができ、同じシステムで

if [ "$SEMAPHORE_THREAD_RESULT" = "passed" ]; then firebase deploy --token $FIREBASE_TOKEN ; fi 

:そのようなコマンドは次のようになりwhould。 find here/

セマフォのビルドデプロイメントシステムは、基本的に別のジョブで、ビルドが完了した後にトリガされることを確認することができます。その詳細についてはat official docsをご覧ください。

+0

ちょっと、 'rfirebase'ビットが誤植ですか? – Ilja

+0

申し訳ありません。セマフォは、標準のbashですべてのコマンドを実行しているので、if文とfirebase deployコマンドは、マシン上で実行するような標準のものです。 – rastasheep

関連する問題