본문 바로가기
C.W.K.
Stream
Lesson 03 of 12 · published

조직 비밀값

~9 min · org, secrets, scope

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

한 번 공유, 여러 저장소에서 사용하기

조직에 30개 저장소가 있고 전부 AWS에 배포해야 한다면, AWS 키를 30개 저장소 비밀값 세트로 복붙하는 건 유지 보수와 교체의 악몽이야. 조직 비밀값이 딱 이런 상황에 쓰는 거야.

설정 방법은 이래. 조직 설정(Org Settings) → 비밀값과 변수(Secrets and variables) → 액션(Actions) → 새 조직 비밀값 만들기(New organization 비밀값). 그다음 노출 범위(visibility)를 선택해.

  • 모든 저장소(All repositories) — 조직의 모든 저장소에서 볼 수 있어.
  • 비공개 저장소(Private repositories) — 비공개나 내부 저장소만 볼 수 있어.
  • 선택된 저장소(Selected repositories) — 명시한 목록에 있는 저장소만.

우선순위

조직과 저장소가 같은 이름의 비밀값을 정의하면 저장소 값이 우선해. 단일 저장소에서 조직 수준의 기본값을 덮어쓸 때 유용해.

언제 뭘 써야 할까

  • 조직 비밀값 — 여러 저장소가 공유하는 자격 증명: 클라우드 제공자 키, 레지스트리 토큰, 공통 API 키.
  • 저장소 비밀값 — 한 프로젝트에 특정한 자격 증명, 또는 조직 수준 값을 덮어쓸 때.
  • 환경 비밀값 — 배포 대상에 묶인 자격 증명 (다음 레슨에서 다뤄).

Code

선택된 저장소와 함께 조직 비밀값 설정·bash
# Set an org secret limited to specific repos
gh secret set AWS_ACCESS_KEY_ID \
  --org my-org \
  --visibility selected \
  --repos my-org/api,my-org/web,my-org/jobs \
  --body "$AWS_KEY"

# In any of those repos' workflows:
#    env:
#      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}

External links

Exercise

비밀값을 공유하는 여러 저장소를 가진 조직이 있다면 '선택된 저장소' 노출 범위를 가진 조직 비밀값으로 마이그레이션해 봐. 각 저장소에서 중복된 저장소 비밀값을 제거하고, CI가 통과하는지 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.