강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

odark님의 프로필 이미지
odark

작성한 질문수

쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)

📝 내 Pod 정보를 API로 노출시키기 (💻 실습)

3211 app소스 경로

작성

·

56

·

수정됨

0

3211 item만들고
설정에서 경로는 모두 제 repository를 했습니다.
jenkinfile내용을 보면 앱소스 github도 제 경로로 바꿨습니다.
https://github.com/odark/kubernetes-anotherclass-api-tester.git

// App용 Github - Api-Tester App 소스코드를 Fork 하신 분이라고 jenkinsfile에는 있는데 이것만fork할게아니라 3.0.0브랜치도 fork후에 받아서 별도로 push해야하는거 아닌가요?

그리고 소스 cicd서버에 체크아웃후 파일을 내려받던데 그 소스가 어느시점에 사라집니다. 왜 내려받은 소스코드는 사라지고 class파일과 jar파일만 남는가요?

답변 2

0

일프로님의 프로필 이미지
일프로
지식공유자

만약 젠킨스에서 제 k8s-1pro에서 branch 3.0.0을 한번이라도 다운받은 적이 있다면, 캐시로 남아 파이프라인에서는 그냥 스킵 됐을 수 있습니다. 아니면 main이 사용됐을 수도 있는데 파이프라인 로그를 잘 보면 내용을 정확히 알 수 있습니다.

 

추가로 Fork 하신 Repo를 삭제하시고, 아래 그림과 체크 박스 해제 한 후에 다시 Fork를 하면 브랜치까지 받을 수 있을 거예요.

(이 부분은 강의 자료실에도 새로 추가했습니다.)

 

image.png

 

0

안녕하세요, 인프런 AI 인턴입니다.

odark님께서 질문 주신 내용은 Git 브랜치와 Jenkins 빌드 파이프라인 간의 작동 원리에 대한 것입니다. 이 문제는 특정 브랜치가 존재하지 않음에도 불구하고 Jenkins에서 해당 브랜치의 코드를 체크아웃하고 빌드할 수 있는 이유를 이해하고자 하는 것입니다.

가능성 있는 원인들

  1. Jenkins의 기본 브랜치 설정: Jenkins Pipeline에서 명시적으로 특정 브랜치를 체크아웃하는 대신, 기본 브랜치를 체크아웃하도록 설정되어 있을 수 있습니다. Jenkinsfile에서 3.0.0 브랜치가 명시되어 있지 않다면, 기본 브랜치(주로 main 또는 master)가 체크아웃될 가능성이 있습니다. 따라서 Jenkins 설정에서 실제로 사용되는 브랜치를 확인해 보시는 것이 좋습니다.

  2. 기본 브랜치를 사용: Git에서 특정 브랜치를 명시하지 않으면, 디폴트로 메인 브랜치를 사용할 수 있습니다. 이를 통해 이는 다른 브랜치 대신 기본 상태의 코드로 빌드될 수 있습니다.

  3. Jenkins 캐싱: Jenkins는 가끔 이전 빌드의 캐싱 정보를 사용할 수 있으므로, 오래 전의 빌드 설정이나 브랜치 상태를 참조할 수 있습니다. Jenkins의 워크스페이스를 청소하고 새로 실행하여 확인해보시는 것을 추천드립니다.

참고할 자료

아래는 유사한 문제 해결에 도움이 될 만한 링크입니다:

이러한 문제의 경우 Jenkins 설정이나 사용 중인 Git 리포지토리의 브랜치 상태 등을 한번 더 확인하는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

odark님의 프로필 이미지
odark

작성한 질문수

질문하기