Angeliot

깃허브로 블로그 운영하기

August 21, 2018 | 2 Minute Read

Blog는 일반적으로 블로그 제공 서비스나, 자체 호스팅을 통해 운영했습니다. 이런 방식은 백업, 공동작업, 결과물의 재이용 측면에서는 어렵습니다. 이런 어려운점을 해결하고 소스코드 저장소인 Github를 통해 블러그를 운영할 수 있습니다.

Github Page 방식

깃허브 페이지는 Jekyll를 통해 github에 있는 코드를 웹페이지로 서비스합니다. 마크다운 방식으로 코드를 작성하면 jeykyll이 자바 스크립트, css, html을 생성해줍니다.

마크다운 깃허브에 커밋한 마크다운 페이지

생성된 웹 결과물 jekyll에 의해 변환된 웹페이지

깃허브 페이지를 이용해서 웹페에지를 서비스하려면 다음과 같은 선택지가 있습니다.

  1. Github Page만 이용하기
  2. 로컬에 Jekyll 환경 구축하여 빌드하여 Github Page에 배포하기

1의 방식은 웹브라우저만 있으면 개발환경 구축및 배포없이 콘텐트의 수정만으로 운영할수 있는 장점이 있습니다. 2의 방식은 개발환경을 구축하는 비용이 있으나 1의 방식이 보안상에 이유로 공식 Kekyll 플러그인만 쓸수 있는 반면에 마음대로 할수 있는 자유도가 있습니다. 가능한 1의 방식을 사용하기를 권합니다.

Github Page 시작

Github page도 깃허브를 사용하므로 github.com의 계정과 저장소가 필요합니다. 없다면 만듭니다.

다음은 맘에드는 테마를 포크합니다. 포크는 원본소스를 내 저장소로 가져오는것입니다. http://jekyllthemes.org/ 에 가서 원하는 테마를 찾습니다. 테마의 홈페이지(깃허브)로 간다음 자신의 저장소로 folk를 합니다. Remote Theme 방식사용시 포크가 필요없으나 기초가 되는 파일구조인식이나 최소한의 커스텀마이징을 위해서 포크하는것을 권합니다.

folk

Settings로가서 Repository name을 {name}.github.io로 바꿔주면 10분 정도 기다린후에 https://{name}.github.io 으로 접속하면 블로그를 볼수 있습니다.

settings

깃페이지에 가장 중요한 두가지 파일은 _post와 _config.yml 입니다. _post는 내가 쓸 블로그글이 저장되는 위치이고 _config.yml는 설정 파일입니다. _config.yml는 열어보면 용도가 무엇인지 알수 있는 프로퍼티:밸류 구조로 작성됐습니다. 필요시 수정하면됩니다.

중요한 파일

블로그 페이지 작성하기

블로그 페이지는 _post안에 Y-M-D-{name}.md 의 파일명 형식과 마크다운 상단의 메타 포맷만 맞게 작성하면 jekyll 해당 마크다운을 빌드하여 웹페이지로 바꿔줍니다. 포크 방식으로 테마를 가져올경우 간결하지만 대부분의 사용법을 학습활 수 있는 예제가 들어 있으므로 도움이 됩니다.

---
layout: post
title:  "마이크로 서비스, 콜하지 말고 이벤트 컨슈밍하기"
date:   2018-8-22
description: API  방식을 버리고  이벤트 컨슈밍 방식을 선택해야하는지 알아봅시다.
---

<p class="intro"><span class="dropcap">A</span>PI Gateway는 마이크로서비스를 시작하면서 생기는 짐입니다. 주 목적은 Monolithic에서 시작한 서비스 콜구조를 지원하기 위해서입니다. API 게이트 웨이를 심도 있게 운영하는것은 비용, 스트레스, 효율등을 고려하면 좋은 선택이 아닙니다, 이벤트 드리븐을 사용해야합니다.</p>

# 예제로 보는 API 콜 방식의 문제
우리는  API  방식이 우리에게 고통을 주는지 가입자에게 쿠폰을 발송하는 간단한 서비스 예제를 통해서 살펴봅니다.

상단의 메타 정보는 “—“로 시작해서 “—“로 끝나는 부분입니다. 이후의 내용은 마크다운과 html, jekyll tag를 이용해서 자유롭게 작성하면됩니다. 위코드에서 {% highlight ruby %}가 jekyll tag입니다. 이런 테그를 통해 소스코드같은 콘텐트를 쉽게 넣을 수 있습니다. 코드가 변경되면 빌드하고 다시 배포하는데 5분정도가 걸립니다. 따라서 코드 수정후 페이지로 바로 확인하기 어렵습니다. 이것이 매우 불편하다면 로컬에 Jekyll 환경 구축하면 됩니다.

참고자료

리모트테마로 깃허브 페이지 운영하기 https://dreamgonfly.github.io/2018/01/27/jekyll-remote-theme.html

구글서치용 sitemap.xml 등록 http://davidensinger.com/2013/03/generating-a-sitemap-in-jekyll-without-a-plugin/

마이크로서비스 아키텍처에 대해 궁금한점이 있다면 포스트 하단의 링크(페이스북, 이메일)를 통해 문의주세요.