Jenkins 작업이 정의된 시간을 기다리지 않음

Jenkins 작업이 정의된 시간을 기다리지 않음

쉘을 실행하는 젠킨스 작업이 있고 특정 조건이 예상된 상태가 아닌 경우 기다리기를 원하지만 30초 동안 기다리라고 요청하고 현재 상황이 22초 동안 실행됩니다. 원하는 상태에 도달하지 못하거나,

#!/bin/bash
container_name=$(helm install "$USER"-0.1.0.tgz | grep -A2  "v1/Pod(related)" | awk 'NR>2' | awk '{ print $1 }')
container_status=$(kubectl get pod "$container_name" | grep "$container_name" | awk '{ print $3 }')
count=0
if  [ "$container_status" != "Running" ]
   then 
      sleep 10
      count+=1
      if  [ $count -eq 3 ]
        then
          break
      fi          
   else 
      echo "Container is Ready!!"
fi      

답변1

다음을 수행하려는 것 같습니다.

#!/bin/bash

while [ "$container_status" != "Running" ] ; do
    ...
done

현재는 코드를 한 번만 실행하므로(그래서계산어쨌든 3개에는 도달하지 않습니다.)

무언가가 "준비"된 시기를 감지하려면 명명된 파이프에서 읽는 기존 방법을 사용하고 준비가 되었을 때 별도의 (하위)프로세스를 사용하여 파이프에 쓰는 것보다 더 나쁜 일을 할 수 있습니다.

관련 정보