디벨로그 글을 GitHub에 자동으로 백업하기
GitHub에 공부한 내용을 정리하다가 문득 이런 생각이 들었습니다.
"아, Markdown으로 글 쓰기 힘드네~ 표도 pip기호 써야하고 귀찮다.."
그러던 중 학원에서 나름 친해진 재원이가 앞에서 디벨로그로 글을 열심히 작성하는 모습을 보게 되었습니다.
사실 저도 디벨로그를 사용해 볼까 생각한 적은 있었지만, 한 가지 걸리는 부분이 있었습니다.
"만약 디벨로그 사이트가 사라지면 지금까지 작성한 글은 어떻게 되는 거지?"
물론 당장 그런 일이 생길 것 같지는 않지만, 공부하면서 정리한 내용이 한 사이트에만 남아 있는 건 조금 불안했습니다. 그래서 작성한 글을 다른 곳에도 보관해 두면 좋겠다는 생각이 들었습니다.
결국 디벨로그에 글을 작성하면 GitHub에도 Markdown 파일로 자동 저장되는 프로그램을 만들어 보기로 했습니다.
그래서 주말에 틈틈이 만들어 봤습니다.
1. 구현 방식
처음에는 Velog와 GitHub를 연동하는 사례들을 참고했습니다. 찾아보니 대부분 RSS를 활용하더라고요.
하지만 이번에는 디벨로그의 공개 게시글을 직접 수집해서 Markdown 파일로 변환하는 방식으로 구현했습니다.
전체적인 흐름은 다음과 같습니다.
디벨로그에 글 작성 또는 수정
↓
GitHub Actions 자동 실행
↓
공개 게시글 목록 및 본문 수집
↓
Markdown 파일로 변환
↓
GitHub에 자동 커밋
GitHub Actions를 이용해 매일 밤 11시 50분(KST)에 실행하도록 설정했습니다.
다만 예약 실행은 아직 테스트가 더 필요합니다. ㅠㅅㅠ
현재는 Run workflow를 이용해 수동으로 실행하면서 확인하고 있고 자동 실행 부분은 추후 조금 더 보완하려고 합니다.
2. 주요 기능
일단 다음과 같은 기능들을 구현했습니다.
- 새 글 작성:
posts/폴더에 Markdown 파일 생성 - 기존 글 수정: 저장된 파일의 내용 갱신
- 글 삭제: 3회 연속 누락 확인 후
archive/폴더로 이동 - 글 재공개:
posts/폴더로 복원
파일은 글 제목(최초 발행 날짜).md 형식으로 저장됩니다.
글을 삭제했다고 GitHub에서도 바로 삭제되는 것은 조금 아쉬워서, 삭제된 글은 archive/ 폴더에 따로 보관하도록 했습니다.
3. 사용 방법
다른 분들도 사용할 수 있도록 디벨로그 계정은 별도의 설정 파일에서 관리하도록 만들었습니다.
① GitHub 저장소 만들기
먼저 GitHub에서 새로운 저장소를 만든 뒤 프로젝트 파일을 업로드하거나, 프로젝트 저장소를 Fork해서 사용하면 됩니다.
GitHub 프로젝트: [https://github.com/Deceiver4613/develogToGithub.git]
② 디벨로그 계정 설정
config.json 파일에서 자신의 디벨로그 아이디를 입력합니다.
{
"develog_handle": "your_username"
}
아이디 앞의 @는 제외하고 입력하면 됩니다.
③ GitHub Actions 권한 설정
GitHub 저장소에서 아래 경로로 이동합니다.
Settings → Actions → General → Workflow permissions
여기서 Read and write permissions를 선택하고 저장합니다.
④ 동기화 실행
Actions → Sync Develog Posts → Run workflow
수동으로 실행한 뒤 초록색 체크가 나타나면 posts/ 폴더에 Markdown 파일이 생성되었는지 확인하면 됩니다.
Fork한 저장소에서는 예약 실행이 비활성화되어 있을 수 있으니, 해당 부분 잘 확인해 주세요.
자세한 설명과 주의사항은 GitHub README에 정리해 두었습니다.
4. 구현하면서
처음부터 잘 작동했던 것은 아닙니다.
처음에는 게시글 링크까지는 잘 가져왔지만, 정작 본문을 찾지 못하는 문제가 발생했습니다.
이 부분을 수정하고 나니 이번에는 본문뿐만 아니라 공유, 작성자 정보, 팔로우, 댓글 0 같은 문구까지 함께 저장되더라고요.
그래서 게시글의 실제 내용만 가져올 수 있도록 추출 부분을 추가로 수정했습니다.
또 한 가지 고민했던 부분은 게시글 삭제를 어떻게 판단할 것인가였습니다.
사이트에 일시적으로 문제가 생겨 게시글을 불러오지 못할 수도 있는데, 그때마다 글을 삭제된 것으로 처리하면 안 되겠다는 생각이 들었습니다.
그래서 정상적으로 게시글 목록을 확인했을 때 3회 연속으로 누락된 경우에만 archive/ 폴더로 이동하도록 했습니다.(물론 사용자가 어떤 게시글이 3회 누락인지 표시되는 경우가 없어서 누락을 인지하지 못해 생기는 문제에 대해서 고민 중이긴 합니다.)
실제로 게시글 생성과 수정, 삭제 후 보관함 이동까지 테스트했고 정상적으로 동작하는 것도 확인했습니다.
5. 마치며
처음에는 단순히 Markdown 파일만 저장하려고 했는데, 생각보다 고려할 부분이 많고 귀찮더라고요....
하지말까?란 생각이 들기도 했지만 생각만 하던 게으른 저도 조금 달라졌나 봅니다.
아직 디벨로그의 HTML 구조가 변경되면 수집 코드를 수정해야 하고, 이미지 자체를 백업하는 것은 아니라는 한계도 있습니다.
그래도 저는 이제 디벨로그에서 조금 더 편하게 글을 작성하면서, 작성한 내용을 GitHub에도 남길 수 있게 되어 마음이 놓입니다.
자동 실행을 포함해 아직 보완할 부분들이 있지만, 앞으로 사용하면서 조금씩 개선해 보려고 합니다.
코드와 자세한 사용 방법은 GitHub README에 정리해 두었습니다.
의외로 저 같은 분들도 있을 것이라 생각하고 사용자 피드백도 얻을 겸 배포해봅니다. 사용해보시고 피드백은 댓글로 적어주시면 최대한 반영해보겠습니다.
참고 자료

![[Mac 개발 일기] 깃허브 Project 세팅하기(1)](https://data.develog.develrocket.com/upload/develog/muchan/1791978916021-60rqyw/___________2026-10-14______8.54.56.png)



와.. 멋지네요... Github 계정과 연동해서 레포에 쌓이도록 공식기능으로 한번 구현해보겠습니다 ^_^ 너무너무 좋은 아이디어 주셔서 감사합니다! 잔디도 쌓고 디벨로그도 쌓고 일석이조네요!