[카테고리:] 프로그램으

  • 프로그램으로 만드셨다면 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)을 쓰신다면 말씀해 주세요. 그 부분만 살짝 고쳐드릴게요!