Netlify + Netlify CMS + Gatsby로 CMS를 구축해 본 메모

배경



CMS라고 하면 Wordpress라는 시대가 오랫동안 계속되고 있지만,
  • 코드가 프로그래머 친화적이지 않고 개발하기가 어렵습니다
  • 스케일을 고려하여 다중 서버 및 CMS로 환경을 구축하려고하면 설정이 번거롭습니다
  • 취약성이 높고 유지 보수 비용이 높음
  • Wordpress에서 수행하는 대부분의 요구 사항은 정적 사이트에서 대체 할 수있는 것이 많습니다

  • 이 근처에 적년의 좌절이 있고,
    이제 탈 Wordpress를 위해 Netlify CMS를 시도했습니다.

    수수료



  • CDN으로 정적 사이트를 호스팅하면 언제든지 무료
  • 기타 기능 (인증, 사용자, 팀 사용, 양식)에는 프리미엄 요금 설정이 있습니다

  • Getting Started



    Hugo (Golang)
    GatsbyJS (React)
    2 개의 Static Site Generator가 있지만 이번에는 GatsbyJS를 선택했습니다.



    "Deploy to Nelify"> Github Oauth 인증 허용 > 리포지토리 생성 및 Netlify에 배포

    까지 할 수 있습니다.

    배포되면 자동으로 끝점이 생성되고,
    사이트를 볼 수 있습니다.

    CMS 로그인 사용자 추가





    Setting 탭 > Identity에서
  • Registration preferences → Invite Only
  • External providers → Github 추가



  • Indentity 탭에서

    Invite Users로 로그인할 수 있는 계정(Github)을 초대합니다.

    이것으로

    {사이트 URL}/admin

    로 접속하면 로그인할 수 있습니다.

    사이트 편집





    WYSIWYG 편집기에서 편집 후 "Publish"로 사이트에 반영됩니다.
    (CDN에 배포하기 때문에 반영까지 2~3분이 소요됩니다)

    기타 기능



    실제 현장에서 필요할 것 같은 기능을 조사해 보았습니다.

    맞춤 도메인 할당



    대체로 여기에 쓰여져 있습니다.

  • 하위 도메인 (xxxx.hogehoge.com)을 할당하려는 경우
    소유 도메인의 DNS 레코드 CNAME에 자동으로 할당된 엔드포인트 설정
  • 루트 도메인 (hogehoge.com)을 할당하려는 경우

  • Recommended: Use a DNS provider that supports CNAME flattening, ANAME or ALIAS records for root domains, and alias your root domain to [your-site-name].netlify.com. We recommend using NS1, or Netlify's built-in DNS for this purpose.
    Alternative: Create an A record pointing your root domain to our load balancer’s IP address 104.198.14.52.

    추천:
    ANAME 레코드 사양에 해당하는 DNS 공급자를 사용합니까?
    Netlify에 대한 ALIAS 레코드 설정 지원
    NS1 Netlify’s built-in DNS 사용

    다른 방법:104.198.14.52를 A 레코드로 설정하면 Netlify의로드 밸런서로 매핑하지만 성능은 떨어집니다.

    기본 인증



    환경 변수



    NODE_ENV와 같은 환경 변수를 설정할 수 있습니다.
    htps //w w. 네 tぃfy. 코 m / 드 cs / 부이 ld-Setchin gs / # 부이 ld-en

    Webhook



    빌드 시점에서 Webhook을 실행할 수있는 것 같습니다 (확인되지 ​​않음)

    소감과 과제


  • UI는 간단하고 이해하기 쉽습니다
  • 배포에 타임 러그가 있다고 하는 점만 이용자에게 납득 받을 수 있으면 보통 CMS로서의 이용은 충분한 레벨
  • Wordpress라고 플러그인으로 실시하고 있던 동적 처리(PV 랭킹이나 코멘트 기능 등)를 Webhook나 외부의 API에 잘라내 구현할 수 있으면 Wordpress를 구축할 수 있을지도 모른다.
  • 좋은 웹페이지 즐겨찾기