
GitHub Actions로 웹사이트 깨진 링크 정기 검사하는 완벽 가이드
소규모 사업자도 손쉽게 웹사이트 깨진 링크를 정기 검사할 수 있도록 GitHub Actions 스케줄 기반 자동화를 단계별로 설명합니다.
GitHub Actions를 사용하면 깨진 링크 검사 워크플로우를 자동으로 실행할 수 있습니다. 크론 스케줄을 설정하면 매일 또는 원하는 주기로 검사를 반복합니다. 이 글에서는 워크플로우 파일 작성부터 결과 알림까지 단계별로 안내합니다.
GitHub Actions와 워크플로우 기본 이해하기
GitHub Actions는 저장소에서 이벤트가 발생할 때 자동으로 작업을 실행하는 CI/CD 도구입니다. GitHub Actions는 공개 저장소에서 무료로 이용할 수 있습니다. 이 기능을 활용하면 푸시, 풀 리퀘스트, 또는 시간 스케줄과 같은 트리거에 반응하여 자동으로 깨진 링크를 점검할 수 있습니다.
깨진 링크 검사 도구 선택하기
깨진 링크를 검사하는 방법은 다양합니다. 가장 간편한 방법은 커뮤니티에서 제공하는 GitHub Actions 액션을 사용하는 것입니다. 대표적으로 lycheeverse/lychee-action이 있으며, 이 액션은 웹사이트의 URL을 검사하고 결과 리포트를 생성합니다. 그 외 Node.js 기반 broken-link-checker를 직접 실행하는 방식도 가능합니다. 이 글에서는 lychee-action을 기준으로 설명합니다.
스케줄 설정으로 정기 실행하기
워크플로우를 정기적으로 실행하려면 cron 문법을 사용합니다. 예를 들어, 매일 아침 8시에 검사하려면 schedule: - cron: '0 8 * * *' 처럼 설정합니다. 6시간마다 워크플로우를 실행하여 데이터를 수집하는 사례도 있습니다. 크론식은 UTC 시간 기준이므로 한국 시간에 맞추려면 9시간을 빼야 합니다. 예를 들어, 한국 오전 9시는 UTC 0시에 해당하므로 cron: '0 0 * * *' 으로 설정합니다.
워크플로우 파일 작성하기
저장소에 GitHub Actions 워크플로우를 추가하려면 다음 단계를 따르세요.
- 프로젝트 루트에
.github/workflows디렉토리를 생성합니다. - 새 워크플로우 파일을
broken-link-check.yml이라는 이름으로 만듭니다. - 파일에
name,on,jobs를 정의합니다.on.schedule에 크론식을 넣어 정기 실행을 설정합니다. jobs.steps에서는actions/checkout으로 코드를 가져온 후lycheeverse/lychee-action액션을 실행합니다.- 액션에 인수로 검사할 사이트 URL이나 설정 파일을 전달합니다.
- 변경 사항을 커밋하고 푸시하면 워크플로우가 스케줄에 따라 자동 실행됩니다.
구체적인 예시는 다음과 같은 주요 요소를 포함해야 합니다.
name: 워크플로우 이름on.schedule: 실행 주기jobs.check-links.runs-on: ubuntu-lateststeps: 코드 체크아웃, lychee 액션 실행, 결과 업로드 (필요 시)
실행 확인 및 결과 알림 설정
워크플로우가 실행되면 저장소의 Actions 탭에서 결과를 확인할 수 있습니다. lychee 액션은 기본적으로 마크다운 리포트를 생성하므로, 이를 아티팩트로 업로드하거나 이메일, 슬랙 등으로 전송할 수 있습니다. actions/upload-artifact 스텝을 추가하면 리포트 파일을 저장소에서 다운로드할 수 있습니다. 알림을 받으려면 slackapi/slack-github-action이나 dawidd6/action-send-mail과 같은 알림 액션을 연동합니다.
문제 해결
- 브랜치 보호 규칙이 활성화되어 있으면 GitHub Actions가 푸시를 실패할 수 있습니다. 이 경우 보호 규칙을 비활성화하거나 봇 계정을 예외로 추가해야 합니다.
- 작업 실패 시 재실행: 워크플로우 실행에 실패하면 Actions 탭에서 수동으로 다시 실행할 수 있습니다.
- 시간대 혼동: 크론은 UTC 기준이므로 한국 시간보다 9시간 빠르다는 점을 기억하세요.
웹사이트 전반의 유지보수 전략이 궁금하다면 소규모 사업자 홈페이지 유지보수 체크리스트를 참고하세요.
참고 자료
- GitHub Actions 시작하기 — 확인일 2026-07-29
- 브랜치 보호 규칙 관련 글 — 확인일 2026-07-29
- Reddit 사례 — 확인일 2026-07-29