오토프로그 — 노트북 앞의 개구리오토프로그
메뉴
무료 진단
강의 목차펼치기

19강: 자동화

V5작성2026-04-13읽는 시간4분

반복 작업을 AI에게 맡기기

자동화 인포그래픽

오늘 끝나면

정해진 시간에 움직이고, 버튼으로 시험할 수 있는 자동화 하나가 생겨요. 19강은 선택 보너스이니 자동화가 당장 필요하지 않다면 20강으로 넘어가도 괜찮아요.


1단계: 맡길 일을 하나 정해요

자동화는 밥솥의 예약 기능과 같아요. 매번 같은 순서로 하는 일을 한 번 정해 두면 컴퓨터가 시간에 맞춰 시작해요.

처음에는 작고 규칙적인 일을 고르세요. 이번 실습에서는 GitHub Actions(깃허브가 제공하는 자동화 도구)로 13강의 날씨 기능을 매일 한국 시간 오전 9시 10분에 실행합니다. 클로드에게 이렇게 말하세요.

이 프로젝트에 GitHub Actions로 날씨 자동화를 만들고 싶어.
먼저 프로젝트 구조와 13강에서 만든 날씨 기능을 확인해줘.
자동화에서 실행할 get_weather.py가 없으면 새로 만들어줘.
기존 날씨 API를 재사용할 수 있는지 확인하고, 필요한 정보가 없으면 임의로 정하지 말고 나에게 질문해줘.
API 키가 필요하면 코드에 넣지 말고 GitHub Secrets에서 읽게 해줘.
매일 한국 시간 오전 9시 10분에 실행하고, Actions 화면의 버튼으로도 실행할 수 있게 만들어줘.
GitHub Actions 설정 파일은 .github/workflows/daily-weather.yml에 두고,
사용하는 액션은 공식 문서의 현재 안정 버전으로 골라줘.
실행 전에 만들거나 바꿀 파일과 작동 순서를 먼저 보여줘.
내가 확인하면 파일을 만들고, 초보자도 이해할 수 있게 각 파일의 역할을 설명해줘.

클로드가 계획을 보여주면 파일 이름과 실행 시간을 확인하세요. 날씨 정보가 정상적으로 나오면 다음 단계로 넘어가요.


2단계: 비밀 열쇠를 금고에 넣어요

API 키(서비스를 쓸 때 필요한 비밀 열쇠)는 현관 비밀번호와 같아요. 자동화 파일에 적지 말고 GitHub Secrets(깃허브 비밀값 보관함)에 넣어야 합니다. 필요한 이름부터 클로드에게 확인하세요.

방금 만든 자동화에 필요한 API 키와 비밀값을 확인해줘.
내가 GitHub Secrets에 등록할 이름만 목록으로 보여줘.
비밀값 자체는 화면이나 파일에 출력하지 마.
각 이름이 자동화 파일에서 올바르게 연결됐는지도 확인해줘.

깃허브 저장소에서 Settings → Secrets and variables → Actions → New repository secret으로 들어가 이름과 값을 등록하세요. 로그인, 버튼 승인, 키 복사만 직접 하시면 나머지는 클로드가 해요.

자동화 파일에는 실제 키 대신 secrets로 시작하는 이름만 보여야 해요. 키처럼 긴 문자열이 보인다면 깃허브에 올리기 전에 지워 달라고 하세요.


3단계: 저장하고 깃허브에 올려요

예약 자동화는 설정 파일이 기본 작업 갈래인 main에 올라가야 움직여요. 다른 갈래에만 있으면 예약 실행과 Run workflow 버튼을 쓸 수 없습니다. 명령어는 직접 입력하지 말고 클로드에게 한 번에 맡기세요.

지금 만든 날씨 자동화를 확인하고 깃허브에 올릴 준비를 해줘.
바뀐 파일과 비밀번호·API 키가 포함되지 않았는지 먼저 보여줘.
문제가 없으면 지금 상태를 저장하고 main 갈래를 깃허브에 올려줘.
실행 전에 무엇을 할지 먼저 보여 주고 내 승인을 기다려줘.
로그인이나 브라우저 권한 승인이 필요하면 그 화면에서 멈춰서 알려줘.

브라우저에 로그인이나 권한 승인 화면이 나오면 직접 완료하세요. 깃허브 저장소의 Actions 탭에 새 자동화 이름이 보이면 업로드가 끝났어요.


4단계: 예약 시간을 기다리지 말고 시험해요

오전 9시 10분까지 기다릴 필요는 없어요. 클로드가 넣은 workflow_dispatch가 수동 실행 버튼을 만들어 줘요.

  1. 깃허브 저장소의 Actions 탭을 여세요.
  2. 왼쪽에서 날씨 자동화를 고르세요.
  3. Run workflow를 누르고 초록색 버튼을 한 번 더 누르세요.
  4. 실행 기록을 열어 모든 단계에 초록색 표시가 생겼는지 확인하세요.

빨간 X가 보이면 실패한 단계의 메시지를 복사해 아래 프롬프트와 함께 보내세요. 오류 메시지만 그대로 가져오면 돼요.

GitHub Actions에서 아래 오류가 났어.
[실패한 단계의 메시지를 여기에 붙여 넣기]
원인을 쉬운 말로 설명하고, 관련 파일만 고쳐줘.
다른 기능은 건드리지 말고 다시 확인하는 방법도 알려줘.

크론과 웹훅은 무엇이 다른가요?

크론(Cron)은 컴퓨터의 알람시계예요. 정해진 시간에 일을 시작합니다. GitHub Actions는 UTC(세계 표준시)를 기준으로 쓰므로, 한국 시간 오전 9시 10분은 UTC 0시 10분으로 설정해요.

웹훅(Webhook)은 초인종과 같아요. 시간이 아니라 사건이 생기면 일을 시작합니다. 16강에서 코드를 깃허브에 올리자 버셀(Vercel, 웹사이트를 배포하는 서비스)이 사이트를 새로 배포한 흐름이 웹훅이에요.

시작 조건비유예시
크론알람시계매일 아침 날씨 가져오기
웹훅초인종코드가 올라오면 검사하기

시간 표현은 crontab.guru에서 확인할 수 있어요. 웹훅으로 자동 검사를 붙일 때는 npm test가 있다고 가정하지 말고 클로드가 프로젝트를 먼저 살피게 하세요.

코드를 깃허브에 올릴 때마다 자동으로 검사하고 싶어.
먼저 이 프로젝트에 실제로 쓸 수 있는 테스트 명령과 테스트 파일이 있는지 확인해줘.
없다면 프로젝트 종류에 맞는 가장 작은 테스트와 실행 방법을 만들어서 설명해줘.
확인되지 않은 npm test를 그대로 쓰지 마.
검사가 내 컴퓨터에서 통과한 뒤에만 GitHub Actions 워크플로를 제안해줘.
실행 전에 만들거나 바꿀 파일을 보여주고 내 승인을 기다려줘.

운영할 때 확인할 두 가지

예약 실행은 사용자가 몰리는 정각에 늦어질 수 있어요. 그래서 오전 9시 정각 대신 9시 10분으로 잡았어요.

공개 저장소의 예약 작업은 60일 동안 활동이 없으면 자동으로 멈춰요. 실행 기록이 끊겼다면 Actions 탭에서 상태를 확인하세요.

GitHub Actions는 공개 저장소에서 사용 시간이 무제한이고, 비공개 저장소의 무료 플랜에는 매달 2,000분이 포함돼요. 오래 걸리는 작업을 자주 돌린다면 사용 시간을 확인하세요.


자동화하기 좋은 일

매일 또는 매주 되풀이하고, 순서가 정해진 일부터 골라 보세요. 데이터를 옮기거나 정리하는 일이 시작하기 쉬워요.

작업시작 방식난이도
매일 아침 날씨 알림 보내기크론쉬움
코드가 올라오면 사이트 배포하기웹훅쉬움
매주 월요일 데이터베이스 백업하기크론보통
새 블로그 글을 SNS에 공유하기웹훅보통
매일 밤 에러 로그 요약하기크론보통

디온웍스에서도 오토프로그 랩스 배포, 노션 글 발행, 정부 지원사업 공고 수집에 자동화를 써요. 공고 수집은 Playwright(웹 브라우저를 자동으로 조종하는 도구)가 사이트를 확인하고, 조건에 맞는 공고를 텔레그램으로 알려 줘요.


이번 강에서 기억할 것

  • 크론은 정해진 시간에 움직이는 알람시계예요.
  • 웹훅은 사건이 생기면 움직이는 초인종이에요.
  • API 키는 파일이 아니라 GitHub Secrets에 넣어요.
  • 설정 파일은 main에 올리고, Run workflow로 먼저 시험해요.

자동화 파일을 직접 쓰거나 명령어를 외울 필요는 없어요. 실행 시간, 비밀값 이름, 실행 결과만 확인하세요.


이런 분께 추천해요

매일 같은 데이터를 정리하거나 새 글·상품을 여러 곳에 올리는 분께 알맞아요. 정기 백업이나 점검을 자주 잊는 분에게도 도움이 돼요.


참고 링크


다음 강

20강: 모바일 앱에서는 지금까지 만든 웹사이트를 PWA(웹사이트를 앱처럼 설치하는 방식)로 바꿔 홈 화면에 설치해요.

20강으로 넘어가기

▸개정 이력5건
  • v52026-10-01초보 이탈 개선 — 명령어를 프롬프트로, 분량 축소, 첫 화면 재구성
  • v42026-07-191~20강 공통으로 반복되던 `!` 셸 모드 안내 문구를 하나로 통일 — 실행 결과에 클로드가 한마디 덧붙인다는 현행 동작과, 터미널에서 연 클로드 코드에서만 되고 VS Code 확장 채팅 창에서는 안 된다는 조건을 추가
  • v32026-07-19기본 브랜치(main) 주의를 Actions 탭 확인 절차 "앞"으로 옮기고 Run workflow 버튼도 안 나타난다는 사실 추가(뒤에 있어서 이미 헤맨 뒤에야 읽게 되던 순서 문제). git push를 16·17강과 같은 git push origin main으로 통일
  • v22026-07-19따라 해도 자동화가 안 도는 원인들을 보강 — 60일 무활동 시 예약 실행 자동 중지, 정각 크론 지연(0 0→10 0), 기본 브랜치 조건, workflow_dispatch로 즉시 실행하는 확인 절차를 추가. 액션 버전을 2026-07 기준 최신 메이저로 갱신(checkout v6→v7, setup-node v6→v7), 지원 종료된 Node 20→24로 교체. API 키를 워크플로 파일에 적지 말고 GitHub Secrets에 넣는 절(13강 정합) 신설, 무료 범위(공개 무제한·비공개 월 2,000분) 명시, 참고 링크 갱신
  • v12026-04-13초판

이 글은 오토프로그(AutoFrog) 랩스에서 씁니다 — (주)디온웍스가 운영하는 AI 업무 자동화·바이브 코딩 교육 브랜드 · autofrog.kr