배포와 운영
CI/CD를 붙인다고 끝이 아니었습니다. Git Flow와 GitHub Actions를 맞춰가는 과정
수동 배포는 몇 번은 괜찮지만 반복되면 어떤 브랜치가 올라갔는지부터 흐려집니다. goodtek-web에 Git Flow 기반 CI/CD를 붙이며 정한 브랜치·빌드·배포 기준을 정리했습니다.
배포와 운영
수동 배포는 몇 번은 괜찮지만 반복되면 어떤 브랜치가 올라갔는지부터 흐려집니다. goodtek-web에 Git Flow 기반 CI/CD를 붙이며 정한 브랜치·빌드·배포 기준을 정리했습니다.
바이브코딩
AI로 코드는 빨라졌지만 프로젝트도 같이 어질러졌습니다. 이 파일은 왜 생겼는지, 이 작업은 끝난 건지 설명하기 어려워지는 지점에서 작업 흐름부터 먼저 잡은 기록입니다.
콘텐츠 운영
조회수를 보려던 일이 Ghost CLI에서 Podman Compose로 이전, MariaDB에서 MySQL 8로 마이그레이션, Tinybird 기반 Web Analytics 연결까지 이어졌습니다. 블로그 운영 밑바닥을 다시 깐 기록입니다.
콘텐츠 운영
Ghost 보안 업데이트에서 먼저 만난 건 보안이 아니라 Permission denied였습니다. 버전 확인, 백업, 실행 사용자, 권한, 서비스 상태를 하나씩 확인하며 업데이트를 마친 기록입니다.
콘텐츠 운영
사이트맵 주소만 넣으면 끝일 줄 알았습니다. Ghost 블로그를 Google Search Console에 등록하면서 사이트맵 구조와 색인 요청에서 실제로 헤맨 부분을 정리했습니다.
바이브코딩
돌아가는 프로그램을 만드는 것과 계속 운영할 서비스를 만드는 것은 다릅니다. AI에게 맡기기 전에 따라야 할 레일을 먼저 만드는 방식으로 goodtek 웹사이트를 만든 기록입니다.
콘텐츠 운영
블로그 글로 쓰기엔 부담스럽고 잊기엔 아까운 결정들을 어디에 남길지 고민했습니다. Obsidian 대신 Quartz와 Cloudflare Pages로 공개 개발노트를 만들며 배운 것을 정리했습니다.
콘텐츠 운영
블로그는 기록에는 좋지만 대화에는 약합니다. goodtek 커뮤니티를 시작할 때 NodeBB와 Discourse를 비교하고 NodeBB를 고른 이유를 정리했습니다.
콘텐츠 운영
WordPress가 아니라 Ghost로 시작했습니다. 할 수 있는 게 너무 많은 도구가 오히려 부담이 됐던 이유와, 블로그 플랫폼을 고르며 따진 기준을 정리했습니다.