피드로 돌아가기
Never forget to enter the Stern Grove lottery again!
Dev.toDev.to
DevOps

GitHub Actions와 Playwright를 이용한 상태 유지형 자동 응모 시스템 구축

Never forget to enter the Stern Grove lottery again!

Lizzie Siegle2026년 6월 26일7intermediate

Context

매주 반복되는 수동 응모 작업의 누락 방지를 위한 자동화 필요성 대두. 단순 스케줄링을 넘어 중복 응모 방지를 위한 상태 관리와 브라우저 기반의 동적 페이지 제어 요구사항 발생.

Technical Solution

  • Playwright 기반의 브라우저 자동화를 통한 Tixologi 위젯 데이터 스크래핑 및 응모 로직 구현
  • 별도 Database 구축 대신 JSON 파일과 Git Commit/Push를 활용한 Serverless 상태 유지 아키텍처 설계
  • GitHub Actions Cron Schedule을 이용한 주간 실행 자동화 및 Encrypted Secrets를 통한 민감 정보 관리
  • Resend API 연동을 통한 실행 결과 알림 시스템 구축으로 모니터링 가시성 확보
  • Ubuntu 24.04 환경의 라이브러리 의존성 충돌 해결을 위한 명시적 apt-get 패키지 설치 전략 채택
  • Reviewer Sub-agent 도입을 통한 중복 초기화 및 로깅 누락 등의 정적 코드 품질 개선

- 단순 반복 작업 시 DB 없이 Git Repo를 상태 저장소로 활용하여 인프라 비용 최소화 검토 - 브라우저 자동화 설계 시 가정 기반 구현 대신 실제 페이지의 window 객체 데이터 구조를 먼저 분석 - CI 환경의 OS 버전 업데이트에 따른 라이브러리 명칭 변경 가능성을 고려하여 Runner 버전 고정 또는 명시적 의존성 정의

원문 읽기