인엑스 테크블로그 개발기
안녕하세요. 인엑스에서 프론트엔드 개발을 맡고 있는 Jenny입니다.
인엑스에도 드디어 기술블로그가 생겼습니다! 🥹
이번 첫 글에서는 인엑스 기술블로그를 어떻게 만들게 되었는지, 그리고 왜 Confluence를 기반으로 블로그를 제작하게 되었는지에 대한 이야기를 해보려고 합니다. 🧚♂️
🚩 블로그? 가장 근처에 있는 서비스를 이용하라!

처음 기술블로그 업무를 맡았을 때 가장 먼저 든 생각은 “어떻게 하면 오래 운영할 수 있을까?”였던 것 같아요!
블로그를 만드는 것 자체는 여러 방법이 있습니다. 별도의 블로그 플랫폼을 사용할 수도 있고, 자체 CMS를 만들 수도 있고, 정적 사이트를 구성할 수도 있습니다. 하지만 실제로 운영해보면 블로그는 만드는 것보다 꾸준히 관리하는 일이 더 어려워요.

저희 개발팀은 이미 Confluence를 사용하고 있었고 각자의 스페이스에서 업무 중 알게 된 내용이나 기술적인 고민, 문제 해결 과정을 정리하고 공유하곤 했습니다. 그런데 문제가 하나 있었습니다. 글은 분명히 존재하는데, 사람마다 작성 위치가 다르고 스페이스도 나뉘어 있다 보니 막상 필요한 시점에 다시 찾기가 쉽지 않았어요.
좋은 문서가 있어도 검색하기 어렵고, 공유 흐름이 흩어져 있다면 팀 전체의 지식 자산으로 활용되기 어렵다는 생각에 이번 기술블로그는 새로운 글쓰기 도구를 만드는 방향이 아니라, 이미 작성되고 있는 Confluence 데이터를 기반으로 외부에 보여줄 수 있는 블로그 형태를 만드는 방향으로 접근했습니다!
🚩 회사 리소스와 운영 포인트는 최소화로
거래소 리뉴얼을 마무리하고 잠시 숨을 돌리던 시점에 기술블로그 구축 업무를 맡게 되었습니다. 이때 가장 중요하게 잡은 기준은 두 가지였습니다.
첫 번째! 운영 포인트를 최소화하는 것
두 번째! 가능한 작은 리소스로 시작하는 것
자체 블로그 서버를 따로 운영하면 생각보다 관리해야 할 지점이 많아집니다. 배포 환경을 관리해야 하고, 계정과 권한을 관리해야 하고, 콘텐츠 작성 방식도 새로 정해야 합니다. (생각만해도 어지럽죠? 😭)
이미지 업로드 방식이나 글 수정 프로세스도 따로 고민해야 합니다.
기술블로그를 운영하기 위해 또 하나의 작은 서비스를 운영해야 하는 상황이 되버려요! 으악!
이 부분이 현실적으로 부담이 될 수 있다고 판단했습니다. 개발팀이 블로그를 운영하는 목적은 멋진 플랫폼을 하나 더 만드는 것이 아니라, 팀이 가진 기술적인 경험과 지식을 잘 정리하고 공유하는 데 있습니다. 그렇다면 작성자는 기존처럼 Confluence에 글을 작성하고, 블로그는 그 데이터를 가져와 보여주는 구조가 가장 자연스럽다고 생각했어요!
🚩 자~ 이제 Confluence API를 확인해보자
방향을 정한 뒤에는 Confluence Cloud에서 제공하는 API를 확인했습니다. Atlassian에서는 Confluence Cloud REST API 문서를 제공하고 있고, 페이지, 스페이스, 레이블, 첨부파일 등 다양한 데이터를 API로 조회할 수 있습니다.
🚩 Confluence Cloud REST API 문서
https://developer.atlassian.com/cloud/confluence/rest/v2/intro/#about

API 문서를 확인하면서 “우리가 필요한 데이터는 충분히 가져올 수 있겠다”는 판단이 들었던 것 같아요.
글 목록을 가져오고, 상세 본문을 조회하고, 특정 스페이스나 레이블을 기준으로 필터링하는 방식이라면 기술블로그의 기본 구조를 만들 수 있었습니다.
그다음에는 Atlassian Developer Console에서 앱을 생성하고 API 키를 발급받았습니다. 발급받은 키는 환경변수로 관리하고, 서버에서 Confluence API를 호출하는 구조로 구성했습니다. 프론트엔드에서 직접 호출하지 않고 서버를 거치도록 한 이유는 인증 정보가 노출되지 않도록 하기 위해서였습니다.
🚩 선택적 필터링~💍 레이블로 블로그 글을 구분하기
Confluence에 있는 모든 문서를 블로그에 보여줄 수는 없습니다. 내부 공유용 문서도 있고, 외부에 공개하기 어려운 내용도 있기 때문입니다. 그래서 어떤 글을 기술블로그에 노출할지 구분할 수 있는 기준이 필요했습니다.
이때 사용한 것이 Confluence의 레이블 기능입니다.

저희는 확장성을 고려해 기술블로그에 노출할 문서에는 기본적으로 tech 레이블을 붙이기로 했습니다. 그리고 이후 필요에 따라 frontend, backend, dev, product, design 같은 세부 레이블을 함께 사용할 수 있도록 구조를 잡았습니다.
블로그에 노출하고 싶은 글에만 정해진 레이블을 붙이면 되요. 별도의 관리자 페이지에 다시 등록하거나, 다른 플랫폼에 복사해 올릴 필요가 없습니다. 운영 포인트를 줄이자는 처음 목표와도 잘 맞는 방식이었습니다.
🚩 어떻게 만들었나요?
Confluence REST API
URL | 용도 |
|---|---|
/rest/api/content/search | 페이지 목록 조회 (CQL) |
이미지 관련
컨플루언스 이미지는 인증이 필요한 리소스라 원본 URL을 브라우저에서 직접 쓸 수 없어요! ❌ 게다가 기존 첨부파일 다운로드 URL(/wiki/download/attachments/...)은 Atlassian이 제한하고 있어서, REST API의 첨부파일 전용 엔드포인트(/wiki/rest/api/content/{pageId}/child/attachment/{id}/download)로 접근해야 했습니다.

🚩 기술블로그에서 중요한 것은 [운영 구조]

이번 작업을 하면서 가장 크게 느낀 점은 기술블로그에서 중요한 것은 단순히 화면을 예쁘게 만드는 것이 아니라는 점입니다. 물론 보기 좋은 화면도 중요합니다. 하지만 그보다 더 중요한 것은 팀원들이 부담 없이 글을 작성하고, 작성된 글이 자연스럽게 공유될 수 있는 구조를 만드는 일입니다.
Confluence 기반으로 기술블로그를 만들면 작성자는 기존 업무 흐름을 그대로 유지할 수 있습니다. 글을 쓰기 위해 새로운 툴을 배울 필요도 없고, 다른 플랫폼에 다시 복사해서 올릴 필요도 없습니다. Confluence에 글을 작성하고, 정해진 레이블만 붙이면 되거든요~!!
콘텐츠 원본은 Confluence에 있고, 블로그는 그 데이터를 읽어와 보여주는 역할에 집중합니다. 권한, 레이블, 문서 구조만 잘 정리하면 이후 카테고리나 검색 기능도 자연스럽게 확장할 수 있습니다.
🚩 첫 포스팅을 마치며,,
인엑스 테크블로그는 처음부터 거창한 CMS를 만들거나 별도의 운영 시스템을 붙이기보다, 저희 팀이 이미 사용하고 있는 도구를 활용해 작고 단단하게 시작하게 되었어요~!
이번 작업은 단순히 블로그 화면을 만든 일이 아니라, 팀 안에 흩어져 있던 기술 지식을 더 잘 모으고 공유하기 위한 기반을 만드는 일이었습니다. 앞으로는 레이블 정책을 조금 더 다듬고, 글 목록과 상세 화면의 사용성을 개선하고, 검색과 카테고리 기능도 점진적으로 확장해볼 예정입니다.

앞으로 인엑스 개발팀이 업무 과정에서 마주한 고민과 해결 과정을 이 기술블로그를 통해 하나씩 공유해보겠습니다!
많이많이 기대해 주세요 😆