2017-11-29 2 views
1

단계는 쉘 스크립트 (예 : 테스트 서버에 아티팩트를 설치)를 호출하고 기술상의 이유로 실패합니다 (네트워크가 작동하지 않거나 데이터베이스가 고장났습니다). 가능한 반응 :Jenkins Step (Jenkins 파이프 라인)에서 기술적 인 오류 처리

  1. 전체 작업을 실패합니다. 좋은 생각이 아닙니다. 왜냐하면 아무런 이유없이 이전 단계를 반복해야하기 때문입니다 (이 단계는 수동 단계를 포함 할 수 있음).

  2. 예를 들어 단계를 다시 시도하십시오. 5 분 기다려. 가끔 문제를 해결할 수는 있지만 문제가 잘못된 구성으로 인해 발생한 경우 무한 루프가 발생할 수도 있습니다.

  3. 계속 진행할지 또는 중단 할지를 묻습니다. 가장 유연한 접근 방식이지만 필요하지 않은 (예기치 않은) 상호 작용을 사용합니다.

젠킨스에 대한 표준 해결책이 있습니까?

답변

2

전체 작업을 실패합니다. 좋은 생각이 아닙니다. 왜냐하면 아무런 이유없이 이전 단계를 반복해야하기 때문입니다 (이 단계는 수동 단계를 포함 할 수 있음).

문제의 심각도 순위에 따라 다릅니다. 나는 개인적으로 어떤 종류의 빌드 이슈라도 가지고 있다면, 그것을 기록하고, 실패하고, 알 필요가있는 누구에게나 통지를 보냅니다. 하지만 과도함이라고 생각하면 다른 것을 시도해 볼 수 있습니다.

예를 들어 단계를 다시 시도하십시오. 5 분 기다려. 가끔 문제를 해결할 수는 있지만 문제가 잘못된 구성으로 인해 발생한 경우 무한 루프가 발생할 수도 있습니다.

당신은 Jenkinsfile에서 set a timeout 후 포기 수, 시간을 말하거나, 그러나 오래 작업이 수행한다고 생각합니다. 이 방법을 사용하면 몇 번 재 시도 할 수 있으며 문제가 발생하면 작업을 종료 할 수 있습니다.

계속 진행할지 또는 중단 할지를 묻습니다. 가장 유연한 접근 방식이지만 필요하지 않은 (예기치 않은) 상호 작용을 사용합니다.

사용자 상호 작용은 특히 어떤 일이 발생하는지 또는 업무가 오후 10 시부 터 5시 사이에 실행되도록 예약 된 경우 잘 모르는 경우에 유용하지 않습니다.

모든 옵션 중에서 가장 좋은 것 같습니다. 몇 번 다시 시도해보고 작동하지 않으면 발생한 일을 기록하고 실패하고 누군가에게 알립니다. 그것은 당신의 산발적 인 기술 문제를 다루어야합니다. 또한 재 시도가 작동하지 않으면 수정해야 할 더 큰 문제가 있음을 나타낼 수 있습니다.

관련 문제