프로그래밍/Jenkins

[Jenkins] Shell script 오류나도 계속 진행하는 방법

Beginner:) 2023. 6. 24.
320x100

2가지 경우가 있는데

 

1. Jenkins에서 Script 에러 발생 시에도 진행하는 방법

2. SCM, 즉 Jenkins에서 .sh파일을 실행하는데 파일 안에 명령어가 여러 개 일 때 오류가 나도 진행하는 방법이다.

 

1번의 경우아래의 블로그를 확인

https://jojoldu.tistory.com/409

 

2번의 경우에는 아래 코드를 확인

(feature/A로 checkout을 하는데 오류가 난다고 하였을 때 가정이다)

git checkout feature/A || true
# or
git checkout feature/A || exit [number]

그냥 git checkout feature/A를 수행하면 오류를 뱉고 Jenkins 수행결과도 Fail이다.

git checkout feature/A || true를 수행하면 git checkout feature/A 결과가 fail이더라도 true로 인식한다. 그러므로 아래의 git stash 명령어도 이어 수행한다.

(or연산자라 생각하면 편함)

 

git checkout feature/A || exit 0을 수행하면 바로 종료되지만 결과는 success이다. 


다시 요약하자면 

Jenkins의 오류 여부를 판단하는 것에 결과를 수정하는 방법은 Script(gloovy 언어)에서 판단하는 방법과 Shell script(.sh)에서 판단하는 방법이 있는데

 

Script 언어에서는 try catch를 사용하면 되고 (+ .sh에서 || true를 써도 상관없긴 하다)

 

.sh에서는 웬만하면 || true를 사용할 것인데, 한 줄의 명령어를 무조건 true로 바꾸는 방법이 있다

(Jenkins에 fail의 명령어를 일부러 넣었는데 테스트는 계속 진행하고 싶을 때 사용한다)

 

반응형

댓글