🕹️
Jekyll 서버를 실행시키는 batch 파일 만들기

서버를 실행시키는 과정을 batch 파일을 이용해 간소화하였습니다.

Posted by 재그지그 on August 13, 2018

Blog Jekyll Ruby


블로그를 Jekyll로 옮기고 난 후, 지금까지 약 한 달 반 정도가 지났습니다. 그 과정에서 제가 필요하다고 생각한 여러 기능들을 세팅했고, 취향껏 블로그를 커스터마이징했습니다. 하지만 마음에 안 드는 것이 하나 있었는데, 그것은 바로 서버를 켜는 과정이었습니다. Ruby가 실행된 콘솔을 켜서, 블로그가 위치한 로컬 저장소 디렉토리로 이동한 후 서버를 켜야 했는데… 매번 서버를 켤 때마다 이 귀찮은 짓을 하기가 싫었습니다. 블로그를 앞으로 한 두 번 들어갈 것도 아니라서, 이왕 생각난 김에 자동화를 하는 프로그램을 만들기로 결정했습니다.

사실 결과물만 보면 엄청 간단한 프로그램인데, 저는 이런 종류의 자동화는 처음 시도해보는 것이라 자료를 찾아보고 삽질을 하느라 시간이 좀 오래 걸렸습니다. 그래도 제가 느낀 귀찮음을 스스로 만든 프로그램으로 해결했다는 점에 의의를 두는 걸로…

이거 좀 귀찮은데…

아래의 사진들은 제가 이 전까지 서버를 켜던 방법입니다.

image

윈도우 검색창에서 예전에 설치한 Start Command Prompt with Ruby를 켭니다.

image

그 다음 윈도우 탐색기를 열어 로컬 컴퓨터에 설치된 블로그 저장소를 열어 주소를 복사합니다.

image

명령 프롬프트에서 cd 로컬에 설치된 블로그 저장소 디렉토리로 이동한 다음, bundle exec jekyll serve 명령어를 입력합니다.

image

그럼 이제부터 localhost:4000에서 서버를 확인할 수 있습니다.

세상에, 서버를 켜는 데 무려 4단계가 듭니다. ‘간단한 거 아닌가’라고 생각하실 수 있지만, 서버를 켤 때 마다 이걸 반복하는 건 여간 불편한 게 아닙니다. 따라서 이 프로세스를 프로그램으로 정리해보도록 하겠습니다.

batch 파일 만들기

batch(배치) 파일은 간단히 말해 명령 프롬프트에서 사용할 수 있는 명령어들의 프로세스를 하나의 파일 안에 담아 둔 것입니다. 일반적으로 .bat이나 .cmd 확장자를 사용하며, 작성된 파일들을 클릭하기만 하면 자동으로 실행됩니다.

image

바탕화면에서 오른쪽 마우스 버튼을 눌러, 새로 만들기에 있는 텍스트 문서를 클릭해 새 문서를 만듭니다. batch 파일은 메모장에 작성하는 것만으로도 만들 수 있습니다.

image

우선 batch 파일에서 첫 번째로 해야 할 일은 일반 명령 프롬프트가 아닌, 루비를 실행할 수 있는 명령 프롬프트를 실행해야 한다는 것입니다. 여기서 제가 많이 헤맸는데, 의외로 해답은 꽤 간단했습니다. 바로 명령 프롬프트에서 Start Command Prompt with Ruby의 경로를 찾아, 해당 응용 프로그램을 실행하는 것이었습니다.

저는 Start Command Prompt with Ruby의 파일 위치를 찾아 해당 파일의 경로를 살펴보다가 setrbvars.cmd라는 파일을 발견하였습니다. 이 프로그램을 열어보니, 실제로 루비가 포함된 명령 프롬프트가 실행되는 것을 확인할 수 있었습니다.

image

그 후, 다음과 같은 명령어를 입력해 줍니다.

cd C:\Ruby24-x64\bin
call setrbvars.cmd
cd C:\Users\wormw\Documents\GitHub\wormwlrm.github.io
bundle exec jekyll serve

저도 헷갈리는 명령어가 있어서 모르는 건 인터넷에 검색했습니다. cd는 디렉토리 이동이고, call은 프로그램 실행이니 참고하세요. 그리고 디렉토리의 경로는 개인 컴퓨터마다 다르니, 여러분의 컴퓨터 경로에 맞게 바꿔 설정해주시면 됩니다.

저장하고 실행하기

image

저장할 때는 해당 메모장 파일 형식을 모든 파일(.)로 한 뒤, 파일 이름.bat으로 설정합니다. 이때 인코딩은 ANSI로 합니다. 제가 유니코드로 해봤는데 안 되더라구요.

image

저장하고 나면, 톱니바퀴 아이콘의 프로그램이 생성된 것을 확인할 수 있습니다. 그리고 프로그램을 직접 실행시켜보면, 위의 서버 프로세스가 순서대로 실행되는 것을 확인할 수 있습니다. 간단하네요.

위와 같은 경우는 정말 간단한 케이스지만, 이를 응용한다면 더 복잡한 프로세스를 간단하게 하나의 파일로 만들어 사용할 수 있을 것입니다. 저와 같은 귀찮음을 느끼신 분들이라면, batch 파일을 통해 서버 실행 과정의 자동화를 고려해보는 것을 추천합니다.