Skip to main content Link Search Menu Expand Document (external link)

Deployment(배포)

Table of contents

  1. Deployment(배포)
    1. Gemfile
    2. Plugins
    3. Environments
    4. Deployment
    5. Wrap up
  2. 배포 상세
    1. 수동
    2. 자동
    3. 서드 파티

Gemfile

사이트에 Gemfile을 사용하는 것이 좋습니다. 이렇게 하면 Jekyll 및 기타 gem의 버전이 다양한 환경에서 일관되게 유지됩니다. 다음을 사용하여 루트에 Gemfile을 만듭니다.

source 'https://rubygems.org'

gem 'jekyll'

그런 다음 터미널에서 bundle install를 실행하십시오. 그러면 젬이 설치되고 향후 bundle install를 위해 현재 젬 버전을 잠그는 Gemfile.lock이 생성됩니다. 젬 버전을 업데이트하려면 bundle update를 실행할 수 있습니다.
Gemfile을 사용할 때 bundle exec 접두사가 붙은 jekyll serve와 같은 명령을 실행합니다. 따라서 전체 명령은 다음과 같습니다.

bundle exec jekyll serve

이렇게 하면 Gemfile에 설정된 젬만 사용하도록 Ruby 환경이 제한됩니다.

Plugins

Jekyll 플러그인을 사용하면 사이트에 특정한 사용자 정의 생성 콘텐츠를 만들 수 있습니다.
사용 가능한 plugins이 많거나 직접 작성할 수도 있습니다.

거의 모든 Jekyll 사이트에서 유용한 세 가지 공식 플러그인이 있습니다.

  • jekyll-sitemap - engines index content을 찾는 것을 돕는 sitemap 파일을 만든다.
  • jekyll-feed - post용 RSS feed를 만듭니다.
  • jekyll-seo-tag - SEO에 도움이되는 메타 태그를 추가합니다.

먼저 이것을 사용하려면 Gemfile에 추가해야합니다.
jekyll_plugins 그룹에 넣으면 자동으로 Jekyll에 필요하게 됩니다.

source 'https://rubygems.org'

gem 'jekyll'

group :jekyll_plugins do
  gem 'jekyll-sitemap'
  gem 'jekyll-feed'
  gem 'jekyll-seo-tag'
end

그리고 _config.yml에 다음 라인을 더한다:

plugins:
  - jekyll-feed
  - jekyll-sitemap
  - jekyll-seo-tag

이제 bundle update를 실행하여 그들을 설치하십시오.
jekyll-sitemap은 설정이 필요하지 않으며 빌드시 사이트 맵을 생성합니다.
jekyll-feedjekyll-seo-tag의 경우 _layouts/default.html 에 태그를 추가해야합니다.

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>{{ page.title }}</title>
    <link rel="stylesheet" href="/assets/css/styles.css">
    {% feed_meta %}
    {% seo %}
  </head>
  <body>
    {% include navigation.html %}
    {{ content }}
  </body>
</html>

Jekyll 서버를 다시 시작하고 이 태그가 <head>에 더해졌는지 체크하라.

Environments

때로는 프로덕션에서는 출력하고 싶지만 개발 중에는 출력하지 않을 수도 있습니다. 분석 스크립트가 가장 일반적인 예입니다. 이를 위해 environments을 사용할 수 있습니다. 명령을 실행할 때 JEKYLL_ENV 환경 변수를 사용하여 환경을 설정할 수 있습니다. 예를 들어:

JEKYLL_ENV=production bundle exec jekyll build

기본적으로 JEKYLL_ENV는 개발입니다. JEKYLL_ENVjekyll.environment를 사용하여 liquid에서 사용할 수 있습니다. 따라서 프로덕션에서만 분석 스크립트를 출력하려면 다음을 수행합니다.

{% if jekyll.environment == "production" %}
  <script src="my-analytics-script.js"></script>
{% endif %}

Deployment

마지막 단계는 사이트를 프로덕션 서버로 가져오는 것입니다. 이 작업을 수행하는 가장 기본적인 방법은 프로덕션 빌드를 실행하는 것입니다.

JEKYLL_ENV=production bundle exec jekyll build

그리고 _site의 내용을 서버에 복사하십시오. 더 좋은 방법은 CI , 3rd party를 사용하여 이 프로세스를 자동화하는 것입니다.

Wrap up

배포 상세

ekyll 을 사용해 빌드한 사이트는 그 결과물의 정적인 특성 덕분에 여러가지 방법으로 배포할 수 있습니다. 여기 가장 보편적인 방법 몇 가지를 소개합니다:

수동

자동

서드 파티