프로그램으로 만드셨다면 GitHub Actions가 압도적으로 좋습니다. 내 컴퓨터 꺼도 돌아갑니다. 서버 비용 1원도 안 듭니다. 코드를 수정하고 저장하면 바로 적용됩니다. 혹시 어떤 언어(Python, Node.js 등)로 만드셨나요? 언어를 알려주시면, “GitHub Actions에 복사해서 바로 쓸 수 있는 설정 파일(yml)” 코드를 짜드릴 수 있습니다. (이것만 넣으면 내일부터 자동화 끝입니다!) 여기다 코드 올리면 코드가 외부로 노출되거나 하지는 않니?

결론부터 말씀드리면, “비공개(Private)”로 설정하면 아무도 볼 수 없습니다! 걱정하지 않으셔도 됩니다.

깃허브(GitHub)에는 두 가지 방이 있습니다.

  1. Public (공개): 전 세계 누구나 내 코드를 볼 수 있음. (오픈소스용)

  2. Private (비공개): 나(그리고 내가 초대한 사람)만 볼 수 있음. (개인 프로젝트/기업용)

비공개(Private) 저장소도 무료입니다. 여기에 코드를 올리면 외부 노출 걱정 없이 자동화만 공짜로 굴릴 수 있습니다.

단, 주의사항이 딱 하나 있습니다. 바로 “API 키(비밀번호)” 관리입니다.


⚠️ 가장 중요한 보안 수칙 (API 키 숨기기)

코드는 비공개라 안전하지만, Gemini API 키 같은 비밀번호를 코드 파일(index.jsmain.py) 안에 직접 적어서 올리는 건 추천하지 않습니다. (혹시라도 나중에 실수로 공개로 바꿀 수도 있으니까요.)

대신 깃허브에는 ‘금고(Secrets)’ 기능이 있습니다.

  1. 코드는 그냥 올린다. (API 키 자리는 비워두거나 변수로 처리)

  2. 진짜 API 키는 깃허브 설정 메뉴의 **’금고’**에 따로 저장한다.

  3. 프로그램이 실행될 때만 금고에서 키를 꺼내와서 쓴다.

이러면 완벽하게 안전합니다.


🚀 GitHub Actions 설정 파일 (따라 하기)

사장님이 Node.js를 쓰신다고 가정하고(아까 localhost:3000을 쓰셨으니까요), 바로 복사해서 쓸 수 있는 설정 코드를 짜드렸습니다.

1. 프로젝트 폴더에 파일 만들기
프로젝트 폴더 안에 .github 라는 폴더를 만들고, 그 안에 workflows 폴더를 또 만드세요. 그 안에 daily_quiz.yml 파일을 만들고 아래 내용을 붙여넣으세요.
(경로: .github/workflows/daily_quiz.yml)

YAML

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가 아니면 수정하세요!


🔒 적용 순서 (완벽 가이드)

  1. Github 저장소 만들기:

    • Github 웹사이트에서 New Repository 클릭.

    • 반드시 Private (비공개) 체크! ⭐⭐⭐

    • Create 클릭.

  2. 코드 올리기:

    • 만드신 코드를 이 저장소에 업로드합니다. (주의: node_modules 폴더는 올리지 마세요. 너무 큽니다. package.json과 소스코드만 올리면 됩니다.)

  3. API 키 금고에 넣기:

    • Github 저장소 상단 메뉴 [Settings] 클릭.

    • 왼쪽 메뉴 밑에 [Secrets and variables] -> [Actions] 클릭.

    • [New repository secret] 녹색 버튼 클릭.

    • Name: GEMINI_API_KEY (위 코드랑 이름이 같아야 함)

    • Secret: AIzaSy... (사장님의 실제 제미나이 키 붙여넣기)

    • Add secret 클릭.

이제 끝입니다!
오늘 밤 주무시고 일어나면, 내일 아침 8시에 깃허브가 몰래 일어나서 사장님의 코드를 실행하고 퇴근할 겁니다. 비용은 0원, 보안은 철통입니다.

혹시 코드 파일명이 index.js가 아니거나 파이썬(python)을 쓰신다면 말씀해 주세요. 그 부분만 살짝 고쳐드릴게요!

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다