GitHub Actions를 통해 일정에 따라 웹사이트 콘텐츠 업데이트

PHPz
풀어 주다: 2024-08-17 15:20:01
원래의
521명이 탐색했습니다.

전통적인 의미에서 콘텐츠 데이터베이스가 필요하지 않은 자립형 콘텐츠 관리 시스템을 구축하는 과정을 공유하고 싶습니다.

문제

이 웹사이트의 콘텐츠(블로그 게시물 및 북마크)는 Notion 데이터베이스에 저장됩니다:

Updating website content on schedule via GitHub Actions

북마크가 있는 데이터베이스 –  Notion UI

제가 해결하려고 했던 문제는 북마크를 추가한 후에 웹사이트를 수동으로 배포할 필요가 없다는 것이었습니다. 그리고 무엇보다도 호스팅을 가능한 한 저렴하게 유지하십시오. 왜냐하면 Notion 데이터베이스에 추가하는 북마크가 얼마나 빨리 온라인에 도달하는지는 중요하지 않기 때문입니다.

그래서 몇 가지 조사 끝에 다음 설정을 생각해 냈습니다.

Updating website content on schedule via GitHub Actions

콘텐츠 전달 메커니즘에 대한 높은 수준의 개요

시스템은 여러 구성 요소로 구성됩니다.

  • 변경 사항을 배포하는 “Push to Main” 작업
  • Notion API에서 콘텐츠를 다운로드하고 변경 사항을 커밋하는 “콘텐츠 업데이트” 작업
  • "일정에 따라 콘텐츠 업데이트" 작업이 가끔씩 실행되고 "콘텐츠 업데이트" 작업이 실행됩니다

각각의 속내를 자세히 살펴보겠습니다.

"메인으로 푸시" 워크플로

여기서 말할 것은 많지 않습니다. 꽤 표준적인 설정입니다. 메인 브랜치에 푸시가 있으면 이 워크플로는 앱을 빌드하고 Wrangler CLI를 사용하여 Cloudflare 페이지에 배포합니다.

으아악

"콘텐츠 업데이트" 작업 흐름

이 워크플로는 "수동"으로만 트리거될 수 있습니다. PAT라고도 불리는 GitHub 개인 액세스 토큰을 사용하여 트리거할 수 있기 때문에 자동으로도 트리거할 수 있습니다. 처음에는 휴대폰에서 변경 사항을 배포하고 싶었기 때문에 이 글을 썼습니다. Notion API를 사용하여 게시물과 북마크를 다운로드한 다음 코드베이스에 변경 사항이 있는 경우 커밋을 생성하고 푸시합니다. 제대로 작동하려면 이 워크플로우에 저장소의 "코드 읽기 및 쓰기 액세스"가 있는 PAT가 제공되어야 합니다.

으아악

"일정에 따라 콘텐츠 업데이트" 워크플로

이것은 매우 간단합니다. 가끔씩 실행되어 위의 워크플로를 트리거합니다. 제대로 작동하려면 이 워크플로에 저장소의 "actions에 대한 읽기 및 쓰기 액세스 권한"이 있는 GitHub PAT가 제공되어야 합니다. 제 경우에는 다른 PAT입니다:

으아악

결론

저에게 이 설정은 정말 훌륭하고 유연한 것으로 입증되었습니다. 모듈식 구조로 인해 "콘텐츠 업데이트" 작업을 수동으로 실행할 수 있습니다. 여행하는 동안 휴대폰에서. 나에게 이것은 워크플로우의 점진적인 향상에 대한 또 다른 귀중한 경험이었습니다.

이 정보가 도움이 되었기를 바랍니다.

위 내용은 GitHub Actions를 통해 일정에 따라 웹사이트 콘텐츠 업데이트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!