결론부터 말씀드리면, “비공개(Private)”로 설정하면 아무도 볼 수 없습니다! 걱정하지 않으셔도 됩니다.
깃허브(GitHub)에는 두 가지 방이 있습니다.
-
Public (공개): 전 세계 누구나 내 코드를 볼 수 있음. (오픈소스용)
-
Private (비공개): 나(그리고 내가 초대한 사람)만 볼 수 있음. (개인 프로젝트/기업용)
비공개(Private) 저장소도 무료입니다. 여기에 코드를 올리면 외부 노출 걱정 없이 자동화만 공짜로 굴릴 수 있습니다.
단, 주의사항이 딱 하나 있습니다. 바로 “API 키(비밀번호)” 관리입니다.
⚠️ 가장 중요한 보안 수칙 (API 키 숨기기)
코드는 비공개라 안전하지만, Gemini API 키 같은 비밀번호를 코드 파일(index.js나 main.py) 안에 직접 적어서 올리는 건 추천하지 않습니다. (혹시라도 나중에 실수로 공개로 바꿀 수도 있으니까요.)
대신 깃허브에는 ‘금고(Secrets)’ 기능이 있습니다.
-
코드는 그냥 올린다. (API 키 자리는 비워두거나 변수로 처리)
-
진짜 API 키는 깃허브 설정 메뉴의 **’금고’**에 따로 저장한다.
-
프로그램이 실행될 때만 금고에서 키를 꺼내와서 쓴다.
이러면 완벽하게 안전합니다.
🚀 GitHub Actions 설정 파일 (따라 하기)
사장님이 Node.js를 쓰신다고 가정하고(아까 localhost:3000을 쓰셨으니까요), 바로 복사해서 쓸 수 있는 설정 코드를 짜드렸습니다.
1. 프로젝트 폴더에 파일 만들기
프로젝트 폴더 안에 .github 라는 폴더를 만들고, 그 안에 workflows 폴더를 또 만드세요. 그 안에 daily_quiz.yml 파일을 만들고 아래 내용을 붙여넣으세요.
(경로: .github/workflows/daily_quiz.yml)
name: Daily Shorts Quiz Maker
# 언제 실행할까요?
on:
schedule:
# 매일 한국 시간 오전 8시 (UTC 23:00) 실행
# 깃허브는 영국 시간(UTC) 기준이라 한국보다 9시간 느립니다.
# UTC 23시 = 한국 다음날 오전 8시
- cron: '0 23 * * *'
# (테스트용) 깃허브 웹사이트에서 버튼 눌러서 수동 실행 가능하게 함
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest # 깃허브가 빌려주는 무료 컴퓨터(리눅스)
steps:
# 1. 내 코드 내려받기
- name: Checkout code
uses: actions/checkout@v3
# 2. Node.js 설치 (버전 18 사용)
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
# 3. 라이브러리 설치 (npm install)
- name: Install dependencies
run: npm install
# 4. 내 프로그램 실행 (여기서 API 키를 금고에서 꺼내 씀)
- name: Run Quiz Generator
env:
# 코드에서는 process.env.GEMINI_API_KEY 로 받으면 됨
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
# 만약 다른 키도 필요하면 아래에 계속 추가
# GOOGLE_NEWS_API_KEY: ${{ secrets.GOOGLE_NEWS_API_KEY }}
run: node index.js # 사장님의 메인 파일명이 index.js가 아니면 수정하세요!
🔒 적용 순서 (완벽 가이드)
-
Github 저장소 만들기:
-
Github 웹사이트에서
New Repository클릭. -
반드시
Private(비공개) 체크! ⭐⭐⭐ -
Create 클릭.
-
-
코드 올리기:
-
만드신 코드를 이 저장소에 업로드합니다. (주의:
node_modules폴더는 올리지 마세요. 너무 큽니다.package.json과 소스코드만 올리면 됩니다.)
-
-
API 키 금고에 넣기:
-
Github 저장소 상단 메뉴 [Settings] 클릭.
-
왼쪽 메뉴 밑에 [Secrets and variables] -> [Actions] 클릭.
-
[New repository secret] 녹색 버튼 클릭.
-
Name:
GEMINI_API_KEY(위 코드랑 이름이 같아야 함) -
Secret:
AIzaSy...(사장님의 실제 제미나이 키 붙여넣기) -
Add secret 클릭.
-
이제 끝입니다!
오늘 밤 주무시고 일어나면, 내일 아침 8시에 깃허브가 몰래 일어나서 사장님의 코드를 실행하고 퇴근할 겁니다. 비용은 0원, 보안은 철통입니다.
혹시 코드 파일명이 index.js가 아니거나 파이썬(python)을 쓰신다면 말씀해 주세요. 그 부분만 살짝 고쳐드릴게요!