Engineering note · Git

Github Environments 환경변수 관리

2025년 06월 13일이현수
태그github/actionsgithub

Github Environment 에서 환경변수를 관리하고, 배포 시 환경을 지정해서 CICD를 수행한다.

Github Actions 에서는 환경변수를 관리할 수 있는 기능을 제공한다. Secrets 와 Variables 로 나뉜다.

  • Secrets : 민감 정보로, 한번 지정하고서는 암호화되며 워크 플로우에서 활용 시 마스킹 되어서 확인할 수 없다. API 키, 토큰, 비밀번호, 인증서 데이터 등에 활용할 수 있겠다.
  • Variables : 단순 변수로 공개돼도 괜찮은 값. 서버 주소, 사용자 이름, 포트 번호 등 덜 민감한 값.

variables 나 secrets 의 경우 두가지 유형이 있다.

  • Environment : 특정 환경으로 묶어둔 변수들
  • Repository : 저장소 단위의 공통 변수들
yml
- name: Build Dev
        env:
            NODE_OPTIONS: "--max_old_space_size=4096"
            VITE_SAMPLE_APP_ID: ${{ secrets.VITE_SAMPLE_APP_ID }}
            VITE_SAMPLE_CLIENT_TOKEN: ${{ secrets.VITE_SAMPLE_CLIENT_TOKEN }}
            VITE_SAMPLE_LOG_TOKEN: ${{ secrets.VITE_SAMPLE_LOG_TOKEN }}
            VITE_SAMPLE_PUBLIC_KEY: ${{ secrets.VITE_SAMPLE_PUBLIC_KEY }}
        run: |
            yarn build:dev

secrets 는 actions 에서 secrets 객체를 접근하면 사용할 수 있다. repository secrets 는 조건 없이 사용 가능하다.

yml
jobs:
  build:
    environment: dev # 이부분 
    runs-on: ubuntu-latest

environment secrets 는 environment 에다가 사용할 환경을 지정해주면, 그 환경에 맞는 환경변수를 사용할 수 있다.

특정 브랜치 혹은 보호 규칙을 지정해서 조건을 추가할 수 있고, 사용할 secrets 을 지정하면 된다. 환경 지정 시 그 환경에 등록된 변수를 사용한다.

좋아요와 댓글

댓글 남기기

댓글 0개

댓글을 불러오는 중입니다.