LoginSignup
6
6

More than 5 years have passed since last update.

RubyをインストールせずにdockerでGitHub Wikiのプレビューと開発環境を作るメモ

Last updated at Posted at 2016-04-05

はじめに

GithubではプロジェクトごとにWikiページを持てるようになっています。
でもブラウザから直接GitHubのサイトを開いてWikiを編集しちゃうと
すぐに公開されちゃうんですよね。

やっぱり実際に表示されるページをブラウザで確認しておきたい。
特にすでに公開済みのWikiページを編集するときは確認しておかないと不安。

  • 手早くGitHub Wikiページをプレビューしたい
  • でもgollum(rubyも)を用意するの面倒

でも我らにはdockerがあるじゃないか :smirk_cat:
ということでサクッとプレビュー環境作ります。

dockerとdocker-machineがインストール済みなら数分で出来ます。

関連記事:RubyをインストールせずにdockerでGitHub Pagesのプレビュー環境を作るメモ

前提条件

  • dockerとdocker-machineが利用可能であること
    (今回はドライバにvirtualboxを利用)

  • docker-machineにてdefaultホストが作成されていること
    :information_source: もし作成されていない場合は以下コマンドで作成しておいてください。

docker-machine create -d virtualbox default

手順

  1. Github WikiページのGitリポジトリをクローン
  2. Docker、Docker-Composeの設定ファイル作成
  3. Gollumコンテナ起動

手順(それぞれの詳細)

1. Github WikiページのGitリポジトリをクローン

Wikiページを作成するGithubのプロジェクトを開きます。

上部のメニューからWikiを選択すると、Wikiページが開きます。
右側にWikiページのGitリポジトリのURLが表示されていますのでこれをコピーしておきます。

Home_·_yamamoto-febc_docker-machine-sakuracloud_Wiki.png

コピーしたらコンソールで以下コマンドを実行しクローンします。

git clone [コピーしたWikiページのGitリポジトリURL]

:bangbang: クローン先のディレクトリはカレントユーザーのホームディレクトリ配下にしてください。:bangbang:
これは、DockerMachine + virtualboxの場合、ホームディレクトリ配下であれば
自動的にDockerMachineで作ったホストとファイル共有されるからです。

参考:GitHub Wikiページのクローン方法についてはこちらが読みやすかったです。

【GitHub】GitHubのWikiを書く

2. Docker、Docker-Composeの設定ファイル作成

Gollum用のDockerコンテナの準備を行います。
直接docker runを実施すればDocker-Composeは不要なのですが、
オプション指定などが楽なため今回はDocker-Composeを利用してDockerコンテナを起動します。


# 1.でクローンしたディレクトリへ移動
cd [1.でクローンしたディレクトリ]

# Dockerfile作成(内容は下記参照)
vi Dockerfile

# docker-compose.ymlの作成(内容は下記参照)
vi docker-compose.yml

  • Dockerfileの内容
FROM ruby
RUN apt-get -y update && apt-get -y install libicu-dev
RUN gem install gollum
RUN gem install github-markdown
RUN gem install redcarpet org-ruby
VOLUME /wiki
WORKDIR /wiki
CMD ["gollum", "--port", "80"]
EXPOSE 80

:point_right: gem install github-markdownがポイントです。

  • docker-compose.ymlの内容
docker-compose.yml
version: '2'
services:
  gollum:
    build: .
    ports:
      - "80:80"
    volumes:
      - $PWD:/wiki
    command: ["gollum", "--port", "80" , "--allow-uploads" ]

3. Gollumコンテナ起動

ここまできたら以下コマンドでGollumコンテナを起動してみましょう。
起動にはdocker-machineで作成されたdefaultマシンを使います。


# defaultマシンを利用するように環境変数設定
eval $(docker-machine env default)

# docker-composeでコンテナ起動
docker-compose up -d

起動しましたか?

まずはdocker-machineのIPアドレスを確認します。

docker-machine ip default

IPを確認したらブラウザで以下URLを表示してみましょう。

http://[確認したIP]/

kobito.1459818820.583454.png

無事表示されましたね?

ブラウザ上で編集するとgitコミットもされます。
ガンガンWikiページを作成しましょう。

仕上げ(公開)

ある程度作成できたらGithubへpushすればGithub上のWikiページに反映されます。

git push origin master

以上です。簡単ですね!

6
6
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
6
6