0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vagrant+Docker+Jekyll+GitHubPagesを使ってポートフォリオ作成

Last updated at Posted at 2018-11-17

ポートフォリオを作ってみようと思い、以下を参考にやってみたらいろいろはまったのでメモ
[GitHubPages + Jekyll] 無料でWebページを作ってみた

ローカル(Windows)にJekyll環境構築 -> 失敗

Rubyのインストールはできたものの、gemでJekyllを入れようとした際に失敗。
MSYS2が必要だということなので入れてみたがそれでもダメ。
ログを追っていけば何とかなりそうな感じはしたが、ドツボにはまりそうな予感がしたので
別の方法に変更。

makeのPATH通せば行けそうな気がするが、他にも罠がありそう。。。
>gem install jekyll
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR:  Error installing jekyll:
        ERROR: Failed to build gem native extension.

    current directory: C:/tools/ruby25/lib/ruby/gems/2.5.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
C:/tools/ruby25/bin/ruby.exe -r ./siteconf20181117-9632-11acpda.rb extconf.rb
creating Makefile

current directory: C:/tools/ruby25/lib/ruby/gems/2.5.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR=" clean
'make' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

current directory: C:/tools/ruby25/lib/ruby/gems/2.5.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR="
'make' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

make failed, exit code 1

Gem files will remain installed in C:/tools/ruby25/lib/ruby/gems/2.5.0/gems/http_parser.rb-0.6.0 for inspection.
Results logged to C:/tools/ruby25/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/http_parser.rb-0.6.0/gem_make.out

Vagrant(Ubuntu)にJekyll環境構築 -> 失敗

Windowsだからアカンかったんやと思い、Linux(Ubuntu)でやってみるも失敗。
そもそも、Rubyのインストールで無駄にはまってしまった。
最初はapt-getでインストールしたRubyを使おうとしたがgem実行時にバージョンが古くてダメっぽい。
rbenvを使ってインストールしてみるも、これでもバージョンが違うといわれてダメ。
これはログを追っても何とかなりそうな気がしなかったので断念。

Vagrant(Ubuntu + Docker)にJekyll環境構築 -> 成功

JekylのDockerイメージがあったのでそれを使ってみた。
が、最初はうまくいかなかった。
というのもGitHubPages用のpagesというイメージタグがあり、そちらを使う必要があったためだった。
以下の2ファイルをリポジトリ直下において vagrant upすればローカル環境の出来上がり。
ただ、この方法だと--watchオプション付けても変更が反映されないので注意。おそらく、_siteフォルダのほうに実体ができてるからだと思う。

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :
unless Vagrant.has_plugin?("vagrant-docker-compose")
  system("vagrant plugin install vagrant-docker-compose")
end

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network "forwarded_port", guest: 4000, host: 4000
  config.vm.provision :docker
  config.vm.provision :docker_compose, yml: "/vagrant/docker-compose.yml"
end
docker-compose.yml
version: '2'

services:
  jekyll:
    image: jekyll/jekyll:pages
    ports:
      - "4000:4000"
    command: "jekyll serve"
    volumes:
      - /vagrant:/srv/jekyll

まとめ

Dockerは神

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?