Jenkins를 사용하다 git checkout -b 인데, git branch -b로 오타가 나서 Git을 다시 push한 후 Jenkins를 돌렸으나
여전히 오류가 나는 상황.
+ git branch -b feature/feature
error: unknown switch `b'
Git을 확인해도, Jenkins의 git checkout을 확인해도 아무런 문제가 없었는데, Jenkins workspace를 확인해보니 수정전으로 남겨져있었다.
Jenkins에서 Cache와 같은 개념이 있다고 한다. 그래서 수정이안된건데, Workspace를 삭제하는 방법이 있다.
(rm -rf 명령어로 수행하기엔, 실수로 인해 애꿎은 파일만 날릴 수도있다.)
빌드환경에서 "Delete workspace before build start"를 체크하면 되지만, pipeline에는 없는것으로 보인다.
나는 pipeline SCM을 사용중이라서 아래와 같은 방법으로 해결.
pipeline {
agent any
/*
options {
skipDefaultCheckout()
}
*/
stages {
.
.
.
}
post {
always {
cleanWs(
deleteDirs: true,
cleanWhenFailure : true
/*
patterns: [
[pattern: '.venv', type: 'EXCLUDE'],
[pattern: '.venv/**', type: 'EXCLUDE']
]
*/
)
}
}
}
cleanWs를 사용하는 방법인데, Jenkins Plugin에서 Cleanup plugin을 설치해야한다.
stage가 모두 실행된 후 cleanWs가 실행되면서 workspace를 삭제한다.
만약 stage가 시작되기 전 workspace를 삭제하길 원하면 stage 전에 위치해주면 된다.
pattern은 .gitignore, .git 파일(폴더)과 같이 삭제하면 안되는 것들, node-modulse와 같이 cache가 필요한 경우에 사용해주면 된다.
참고 자료
https://plugins.jenkins.io/ws-cleanup/
https://www.jenkins.io/doc/book/pipeline/syntax/#post
'프로그래밍 > Jenkins' 카테고리의 다른 글
[Jenkins] Shell script 오류나도 계속 진행하는 방법 (0) | 2023.06.24 |
---|---|
[Jenkins] Git fatal: could not read Username 오류 해결 (0) | 2023.06.07 |
[Jenkins] SCM shell script 실행하기 (0) | 2023.05.24 |
[Jenkins] ERROR: script returned exit code 해결 (0) | 2023.05.08 |
[Jenkins] ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 해결하기 (0) | 2023.05.08 |
댓글