채널톡 아이콘

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

dugudada01님의 프로필 이미지

작성한 질문수 2

비전공자도 이해할 수 있는 CI/CD 입문·실전

깃허브 시크릿

작성

·

29

0

- name: application.yml 만들기 run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./src/main/resources/application.yml

 

강의에서 이런식으로 시크릿 변수에 yml을 미리 넣었는데 만약에 yml안에서도 시크릿 변수를 사용하면 제대로 동작을 하나요??

ex)kakaopay: secretKey: ${KAKAOPAY_KEY} 이런식으로 yml에 있다고 할 때

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 dugudada01님! 질문 잘 해주셨습니다:)

Github에서 Secret으로 설정한 값이 application.yml의 시크릿 변수에 자동으로 주입되지는 않습니다.

왜냐하면 Github Secret의 변수는 Github Actions의 환경에서만 작동하고,

application.yml에서 사용하는 변수는

환경 변수(서버가 실행되는 컴퓨터 내에 설정되어 있는 변수)를 활용하기 때문입니다.

이 외로 궁금하신 점 있으시면 댓글 달아주세요~~~

0

인프런 AI 인턴님의 프로필 이미지

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

지금 질문하신 내용은 GitHub Actions에서 시크릿을 활용하여 application.yml 파일을 생성할 때, 생성된 application.yml 내부에서 또 다른 환경변수를 사용할 수 있는지에 대한 내용인데요.

  1. GitHub Secrets 사용:
    GitHub Secrets에 저장되어 있는 시크릿 변수(APPLICATION_PROPERTIES)에서 직접 application.yml 내용을 가져와서 생성할 수 있습니다. 이때, 환경변수(KAKAOPAY_KEY)는 서버의 다른 시크릿 관리 기능을 이용해 저장되어 해당 경로를 지정해주면 됩니다.

  2. 환경변수 사용:
    application.yml에서 ${}을 사용해 환경변수를 참조할 때, 해당 환경변수는 애플리케이션이 구동되는 서버 환경에서 설정되어 있어야 합니다. 따라서 GitHub Actions에서 시크릿으로 제공하는 방식이 아니라, 실제 배포 환경에서 해당 환경변수들이 시스템 환경에 적절히 설정되어 있어야 정상적으로 동작합니다.

  3. 실제 환경 설정:
    서버나 컨테이너 실행 환경에서 환경변수를 설정하는 방법으로는 Docker의 --env플래그, EC2의 .env 파일, 또는 클라우드 환경 변수 설정 메뉴를 통해 환경변수를 지정할 수 있습니다.

아래의 링크에서 더 많은 정보를 참조하실 수 있습니다:
- 환경 변수 활용 방법에 대한 기존 답변
- yml 파일 생성과 관련된 쓰레드

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.