Travis CI로 Jekyll 블로그를 GitHub Pages에 자동 배포하기
이 포스트에서는 Travis CI(travis)를 이용해 Jekyll 블로그를 GitHub Pages에 자동 배포(deploy)하는 방법을 소개합니다.
선행조건(PREREQUISITE)
- GitHub 계정이 필요합니다.
- GitHub Pages의 브랜치(branch)는 빌드(build) 후 deploy되는 master branch, jekyll code를 올릴 sources branch로 구성합니다.
테스트 환경(TEST ENVIRONMENT)
- Chrome v80.0.3987.116(공식 빌드) (64비트)
- Firefox Browser v74.0b5 (64-비트)
요약(SUMMARY)
- GitHub Personal access token 생성
- Travis CI 설정
- travis.yml 파일 작성
- deploy 확인
내용(CONTENTS)
1. GitHub Personal access token 생성
https://github.com/에 접속합니다.
- 우측 상단의 Profile 아이콘을 선택하여 ‘Settings’ 페이지로 이동합니다.
- 좌측 하단의 Developer settings 메뉴를 클릭한 후, Personal access tokens 메뉴를 클릭합니다.
- GitHub 계정의 비밀번호를 입력합니다.
- token 이름을 입력하고, token으로 접근 가능한 Scope(repo 전체)를 체크하고, 화면 하단의 ‘Generate token’을 클릭합니다.
- 생성된 token 값은 travis 설정에 필요하기 때문에 메모해 둡니다.
2. Travis CI 설정
- 우측 상단의 ‘Install’을 클릭합니다.
- ‘Only select repositories’ 영역의 ‘Select repositories’를 클릭하여 travis를 연결할 레파지토리(repository)를 선택하고 ‘Install’을 클릭합니다.
- travis가 GitHub repository에 접근할 수 있도록 권한 부여에 승인합니다.
- https://travis-ci.com/으로 이동하여 승인이 진행됩니다.
- 우측 하단의 ‘Settings’를 클릭합니다.
- ‘Environment Variables’ 영역에서 아래와 같이 입력하고 ‘Add’를 클릭합니다.
- Name :: LINDAREX_GITHUB_TOKEN
- Value :: 메모해 두었던 token
위 Name은 임의로 입력해도 무관합니다. 단, 이후 travis 설정과 동일해야 합니다.
3. travis.yml 파일 작성
실제 생성하는 파일명은 ‘.travis.yml’입니다.
- 아래와 같이 ‘.travis.yml’ 파일을 작성하여 jekyll 최상위 디렉터리(index.html 파일이 있는 경로)에 저장합니다.
- travis 설정 시 Environment Variable에 입력한 name과 아래 github_token 값이 동일해야 합니다.
language: ruby
rvm:
- 2.3.3
script: bundle install && bundle exec jekyll build
exclude: [vendor]
deploy:
provider: pages
skip_cleanup: true
github_token: $LINDAREX_GITHUB_TOKEN
keep_history: true
local-dir: ./_site
target-branch: master
on:
branch: sources
branches:
only:
- sources
4. deploy 확인
- 설정 완료 후, travis 첫 페이지으로 이동합니다.
- 로컬의 sources branch를 원격 저장소로 push 하면, travis에서 build하여 master branch로 자동 deploy됩니다.
- build 중입니다.
- 정상 deploy되었습니다.
마무리(CONCLUSION)
travis로 jekyll을 GitHub Pages에 자동 deploy하는 방법을 완료했습니다.
다음 포스트에서는 travis로 다른 언어를 deploy하는 방법을 소개하겠습니다.
Leave a comment