SSH によるジョブの再実行時にステップを実行またはスキップする方法

SSH でジョブが再実行されるときに、特定のステップだけを実行またはスキップしたいことがあります。 netstat を使用してアクティブな TCP 接続を確認することで、こうしたステップを指定できます。 SSH でジョブが再実行されているときは、circleci-agentPID/Program Name になります。 以下のコード スニペットを使用することで、SSH でジョブが再実行されるときに特定のステップを条件付きで実行またはスキップすることができます。 

SSH でジョブが再実行されるときにステップをスキップする方法:

 

 - run: |
if [[ $(netstat -tnlp | grep -F 'circleci-agent') ]] ; then
exit 0;
fi
echo "commands you want to run when job is NOT rerun with SSH"

上記のコードの echo "commands you want to run when job is NOT rerun with SSH" は、ジョブが SSH で再実行 "されない" ときにのみ実行されます。 ジョブが SSH で再実行される場合、このステップはコード 0 で終了し、通知はされません。 これは、ステップの実行の成否がビルドのステータスに影響しないということを意味します。

 

SSH でジョブが再実行されるときにのみステップを実行する方法:

 - run: |
if [[ $(netstat -tnlp | grep -F 'circleci-agent') ]] ; then
echo "commands you want to run ONLY when job is rerun with SSH"
fi
exit 0;

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント

0件のコメント

サインインしてコメントを残してください。