github

GitHub Copilot이 GitHub Pages에서 DNS 설정을 전혀 필요 없게 만드는 방법 (새 탭에서 열림)

GitHub Copilot CLI와 Namecheap API를 연동하면 DNS 레코드를 직접 수정하지 않고도 GitHub Pages 사이트를 사용자 도메인에 연결할 수 있다. 글에서는 저장소 생성부터 도메인 등록, DNS 설정, HTTPS 적용 및 배포 확인까지 약 14분 만에 완료하는 과정을 소개한다. 핵심은 Copilot CLI의 Namecheap 스킬이 API를 통해 DNS 작업을 자동화하되, 실제 변경 전에는 사용자 승인을 받는다는 점이다.

GitHub Pages 사이트 만들기

  • 공개 GitHub 저장소를 생성한다.
  • Copilot CLI에 원하는 결과를 설명해 index.html과 랜딩 페이지를 만들도록 한다.
  • GitHub Pages 활성화도 Copilot CLI를 통해 처리할 수 있다.
  • 우선 github.io 주소로 사이트가 배포되며, 이후 사용자 도메인을 연결한다.

저렴한 도메인 등록

  • 비싼 .com 도메인이 아니어도 사이드 프로젝트를 시작할 수 있다.
  • 글에서는 .click 최상위 도메인을 사용했다.
  • ghpagesblog.click 도메인을 약 2달러에 등록했다.

Namecheap API 활성화

  • Namecheap의 Profile → Tools → Business & Dev Tools → Namecheap API Access로 이동한다.
  • API를 활성화한다.
  • API를 호출할 컴퓨터의 공인 IP를 Whitelisted IPs에 추가한다.
  • 발급된 API 키를 안전하게 보관한다.
  • API 키는 이후 Copilot CLI가 Namecheap 계정과 DNS를 관리할 때 사용한다.

Copilot CLI에 Namecheap 스킬 설치

  • 다음 명령으로 Namecheap 자동화 스킬을 설치한다.
gh skill install github/awesome-copilot namecheap --scope user
  • Copilot CLI에 Namecheap 도메인 목록 조회 등을 요청하면 사용자 이름과 API 키를 입력하도록 안내한다.
  • 인증 정보가 설정되면 계정의 도메인 목록을 반환해 API 연결이 정상인지 확인할 수 있다.
  • API 키는 로컬에 저장되므로 보관 위치와 접근 권한에 주의해야 한다.

DNS 레코드 자동 설정

  • Copilot CLI에 특정 Namecheap 도메인을 GitHub Pages 사이트에 연결하도록 요청한다.
  • 자동화 스킬은 DNS를 변경하기 전에 사용자에게 승인을 요청한다.
  • 기존 Namecheap 주차(parking) 또는 리디렉션 레코드를 제거하고 GitHub Pages에 필요한 설정으로 교체한다.
  • 루트 도메인에는 GitHub Pages의 A 레코드를 설정한다.
  • www 서브도메인에는 GitHub Pages를 가리키는 CNAME 레코드를 설정한다.
  • 저장소에도 CNAME 파일을 커밋해 GitHub Pages가 해당 사용자 도메인에 응답하도록 구성한다.

배포 및 도메인 확인

  • Copilot CLI는 설정이 끝났다고 가정하지 않고 도메인 해석 상태를 직접 확인한다.
  • DNS가 올바르게 GitHub Pages를 가리키는지 검증한다.
  • GitHub Pages의 사용자 도메인 설정과 실제 사이트 연결 상태를 함께 확인하는 방식이다.
  • 글의 목표는 DNS 전파와 HTTPS 적용을 포함한 전체 배포 과정을 수동 설정 없이 완료하는 것이다.

실용적으로는 GitHub Pages와 Namecheap을 사용하는 개인 프로젝트에서 이 방식을 활용할 수 있다. 다만 DNS 레코드 삭제·교체와 API 키 사용이 포함되므로, 자동화 도중 표시되는 변경 내용을 반드시 검토하고 승인하는 것이 좋다.