빌드가 시작되기 전에 작업 공간을 지워야합니다. 나는 단계적으로 cleanDir()
을 사용해 보았지만, 선언적 파이프 라인에서는 체크 아웃이 먼저 발생했으며 cleadDir
단계가 실행되면 체크 아웃 된 코드도 필요 없게 지워집니다. 선언적 파이프 라인에서 체크 아웃하기 전에 작업 영역을 어떻게 지울 수 있습니까?작업이 시작되기 전에 Jenkins 파이프 라인의 작업 공간을 지우는 방법
답변
이런 식으로 뭔가 작동합니다 : 당신이 당신의 현재 작업 공간에있는 모든을 삭제할 수 있습니다 그 후
stash includes: 'src/**', name: 'source-code'
:
env.WORKSPACE = pwd()
sh "rm ${env.WORKSPACE}/* -fr"
이렇게하면 단계에서 호출 할 때 체크 아웃 된 코드도 삭제됩니다. – rashidcmb
이렇게하면 묻는 것처럼 전체 작업 영역이 삭제됩니다. 나는 코드를 체크 아웃하기 전에 이것을하는 일을 얻었으므로 나에게 이해가 가지만. – Frankenstein
코드를 체크 아웃하기 전에 파이프 라인의 다음 단계에서 코드를 체크 아웃합니까? – rashidcmb
약간 다른 접근 방식은 먼저 코드를 은닉하기 위해 stash step를 사용하는 것 . 나중 단계에서 다시 단순히 unstash 소스 코드 수 :
unstash 'source-code'
은닉의 또 다른 장점/unstash는 여러 젠킨스 노드간에 파일을 공유하는 데 사용할 수 있다는 것입니다.
@StephenKing 응답은 가장 간단한 방법입니다. 한 번의 작업으로 실제 프로젝트에 적용하고 영향을 확인합니다. – rashidcmb
동의. 'git clean'은 이것을위한 아주 좋은 해결책입니다. Stash/Unstash 접근 방식은 다중 슬레이브 노드 환경에서 실행될 때 매우 편리하게 사용할 수 있으므로 공유하는 것이 좋습니다. – fishi
당신이 기가 바이트의 데이터를 마스터와 뒤로 전송하면 즐겁지는 않을 것입니다. – StephenKing
는 사실, 예를 들어, 파이프 라인 플러그인, 최근의 변화에 따라 내 대답을 수정해야 실행 힘내와 함께, 귀하의 VCS의 수단을 사용하여 GitHub Branch 소스 플러그인 2.2.0과 JENKINS-43507. 구성 할 수있는 여러 가지 검색 행동, 게다가
, 하나는 지금 청소를 포함하여 수행 할 추가 단계를 정의 할 수 있습니다 체크 아웃 전에 (그리고 클린 체크 아웃 후) :
을 파이프 라인 실행 결과 출력은 것
Cleaning workspace > git rev-parse --verify HEAD # timeout=10 Resetting working tree > git reset --hard # timeout=10 > git clean -fdx # timeout=10
그래서 전화 번호는 git clean
에 가깝습니다.
업데이트 후에이 옵션을 발견했습니다. 다중 파이프 라인 작업이 있고 모든 지점을 삭제할 필요가 없을 수도 있습니다. 이 경우 git clean을 사용하면 더 쉽게 사용할 수 있습니다. – rashidcmb
stage('Git') {
steps {
step([$class: 'WsCleanup'])
checkout scm
}
}
WsCleanup 트릭
- 1. Jenkins : 파이프 라인의 MatrixCombinationsParameterValue
- 2. 파이프 라인의 jenkins-pipeline에서 작업 영역의 URL
- 3. 파이프 라인의 콘솔 출력 : Jenkins
- 4. Jenkins 파이프 라인의 대화 형 입력을 변수
- 5. 버전 번호 Jenkins 선언 파이프 라인의 플러그인
- 6. Jenkins 파이프 라인의 SVN 체크 아웃 코드
- 7. CCSequence는 다음 작업이 시작되기 전에 작업이 완료되기를 기다리지 않습니다.
- 8. SonarQube를 jenkins 작업 파이프 라인에 추가하지 못했습니다.
- 9. jenkins : 작업 종료 전에 승격
- 10. Groovy 메소드 변수를 사용하는 Jenkins 파이프 라인의 동적 변수
- 11. 젠킨스 파이프 라인 : 새 노드에서 작업 공간을 제거하기 전에 작업 공간을 정리해야합니까?
- 12. 파이프 라인의 jenkinsfile에서 다른 jenkins 작업을 실행하는 중
- 13. doit 작업 파이프 라인의 불필요한 재실행
- 14. Jenkins - 작업 공간 삭제 작업 시작 전에 프로세스 종료
- 15. 파이프 라인의 여러 젠킨스 노드
- 16. 파이프 라인 다수 젠킨스 작업
- 17. 파이프 라인의 특정 스테이지 상태를 얻는 방법
- 18. 파이프 라인의 printfn
- 19. 작업이 시작되기 전에 bg 스레드에서 db 마이그레이션 실행
- 20. Jenkins 파이프 라인의 업스트림 커미터에게 알림 전자 메일 보내기
- 21. Jenkins 스크립트 파이프 라인의 옵션 사용 방법은 무엇입니까?
- 22. Jenkins 파이프 라인의 업스트림 작업에서 데이터를 가져 옵니까?
- 23. Jenkins 파이프 라인의 노드, 스테이지 및 단계의 차이점은 무엇입니까?
- 24. env 변수를 사용하여 Jenkins 파이프 라인의 다른 변수를 코드로 설정
- 25. BitBucket 파이프 라인의 저장소에없는 데이터를 사용하는 방법
- 26. Jenkins 파이프 라인에서 작업 홍보 허용
- 27. Jenkins 선언 파이프 라인 : 트리거링 작업 찾기
- 28. Jenkins 파이프 라인 공유 라이브러리에서 버전 작업
- 29. 파이프 라인의 데이터 공장 실행 주문
- 30. GitHub push에서 Jenkins 파이프 라인 작업이 실행되지 않습니다.
무엇을'자식 깨끗한 -fdx' _after_ 체크 아웃을 실행하고 힘내 나머지를 처리하도록 어떻습니까? – StephenKing
이것은 간단한 프로젝트에서 사용되었습니다. 실제 프로젝트를 확인해야합니다. @StephenKing 답변으로 코멘트를 어떻게 받아 들일 수 있습니까? – rashidcmb
답변으로 게시했습니다. – StephenKing