강의

멘토링

커뮤니티

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

이경용님의 프로필 이미지
이경용

작성한 질문수

애플리케이션 배포 자동화와 CI/CD

GitHub WebHook 왜 인식이 안됐는지?

배포에대한 질의..

작성

·

26

1

DB접속정보를
별도로 배포나 설정하는 방법이 있을까요?..
해당 깃에 배포하지않았을때
어떤방법으로 올라간 서버에 적용해야하나요?
만약 별도로 관리한다고할경우 수기로 배포할때마다
서버를 내리고.. applicaiton.yml(디비정보가있는파일)을 설치해야할까요?

답변 1

1

이준형(Foo)님의 프로필 이미지
이준형(Foo)
지식공유자

이경용님 안녕하세요~

몇가지 방법이 있긴한데 혹시 DB 비밀번호 등 GitHub로 노출되지 않았으면 좋겠는 값(Secret 이라고 부릅니다)이 있어서 그런걸까요? 어떤 의도냐에 따라 방법이 달라질 것 같습니다~!

 

만약 수동배포 그 자체를 하고 싶으신거라면 로컬 개발환경에서 package 하여 jar 파일을 생성한 후 scp 등 명령어로 직접 서버에 업로드하여 실행시키는 방법도 가능합니다.

 

그게 아니라 Secret을 숨기고 싶은거라면,

  • 서버에 환경 변수를 설정해주거나

  • Jenkins 등에서 배포할 때 스크립트로 주입시켜 주거나

  • Vault 같은 시크릿 저장소를 활용하거나

  • 쿠버네티스(K8s) 같은걸 사용한다면 클러스터 내부의 Secret을 활용하는 방법

 

등 다양하게 있을 것 같습니다.

혹시 어떤 의도인지 이야기해주시면 추가적으로 답변 드리겠습니다!

 

 

이경용님의 프로필 이미지
이경용
질문자

수동 배포와 자동 배포 부분을 알고싶습니다.
레거시쪽 환경이다보니 CI/CD 이해하고싶어 이강의를 듣게되었는데..
실제 관리하고있는 사이트의 민감한 정보를 오픈하기에는 좀 어려움이 있어서
질문드리게되었습니다.
서버에 환경 변수를 설정이나..
Jenkins에서.. 배포할때 젠킨스 쪽으로 주입이 가능할까 고민이 되었습니다..
클라우드는 해본경험이 없어..
실제 폐쇄망 같은 장소에서만 작업만 해본지라..
Vault 같은 시크릿 저장소나..쿠버네티스같은걸 사용하는 방법이 있는지 몰랐습니다.
혹시 자동이나 수동으로 하는 방법을 학습할려면.. 좀더 깊게 구현하고싶으면..
관련 키워드나 접근 방법 알려주시면 감사하겠습니다.
실제 젠킨스를 적용해서 해보니.. 신세계네요 ^^
감사합니다. 아깝지 않은 강의인것같습니다.

이준형(Foo)님의 프로필 이미지
이준형(Foo)
지식공유자

감사합니다. 😄

 

실제 관리하고있는 사이트의 민감한 정보 -> Secret

을 오픈되지 않도록 핸들링 하시려면, 위에 제가 이야기드린 키워드들을 통해 찾아보시면 됩니다. 이미 제가 드린 키워드들이 전부에요 ㅎ..

 

저중에서 쿠버네티스를 활용한 방법은 쿠버네티스를 사용하는 환경에서만 의미가 있는거라 피하는게 좋을 것 같고, 학습해보시려면 나머지 3가지는 시도해볼만할 것 같습니다.

 

ChatGPT 같은 생성형 AI 서비스에 아래와 같은 형태로 프롬프팅 하시면 원하시는 정보를 얻을 수 있을 것 같은데, 한번 시도해보시면 좋을 것 같습니다.

 

내가 관리하는 서비스의 민감한 정보(Secret)을 GitHub 같은 저장소에 오픈하지 않고, 배포시 애플리케이션에 주입되도록 하고 싶어. 내가 듣기로 아래 3가지 방법이 있다고 들었는데, 각각에 대해 구체적으로 어떻게 하면 좋을지 알려줘.

 

서버에 환경 변수를 설정하는 방법

Jenkins 등에서 배포할 때 스크립트로 주입시키는 방법

Vault 같은 시크릿 저장소를 활용하는 방법

 

위와 같이 프롬프팅하면 아마 각각에 대해 구체적인 진행 방법을 알려줄겁니다.

대화를 이어나가면서 하나씩 실습해보시면 분명 도움이 될 것 같습니다~!

이경용님의 프로필 이미지
이경용

작성한 질문수

질문하기