Skip to content

u6k/blog

Repository files navigation

u6k.Blog (blog)

Travis GitHub tag license standard-readme compliant u6k.blog()

u6k.Blog のソースコードを管理します

Table of Contents:

Background

u6k.Blogは、以下のサービスが連携して配信されています。

  • GitHub
    • ソースコードを管理します。
  • Travis CI
    • GitHubにpushすると起動され、GitHubからソースコードを取得して各種チェックを行います。
  • GitHub Pages
    • u6k.Blogを配信します。
  • Slack
    • Travis CIのビルド結果を通知します。

u6k.Blogは、Jekyllをブログ・システムとして使用しており、Markdown形式で記事を執筆します。

Install

開発用Dockerイメージをビルドします。

$ docker-compose build

Dockerコンテナを起動します。起動すると、blogコンテナにより_siteフォルダにサイトの静的ファイルが生成され、nginxコンテナにより配信されます。サイト生成後、ブラウザからは http://localhost:8080/ でアクセスできます。

$ docker-compose up -d

外部から表示確認するには、ngrokを使用します。

$ ngrok http 8080

GitHub Pagesで配信するには、gh-pagesブランチをチェックアウトして、_siteフォルダの内容を全て上書きします。

Dependencies

  • Docker
$ docker version
Client:
 Version:      17.07.0-ce
 API version:  1.31
 Go version:   go1.8.3
 Git commit:   8784753
 Built:        Tue Aug 29 17:41:05 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:45:38 2017
 OS/Arch:      linux/amd64
 Experimental: false
  • Markdownエディタ
    • 記事をMarkdown形式で執筆するため、Markdownエディタであれば何でも良いです。
    • 筆者は、AtomやVisualStudioCodeを使用しています。
  • ngrok
    • 外部から表示確認を行うときに必要です。

Deploy

gh-pagesブランチにプッシュして、GitHub Pagesにu6k.Blogをデプロイする手順。

# クリーンアップする
git clean -xdf
git reset --hard
git pull origin master

# u6k.Blogを生成する
docker build -t blog .
docker run --rm -v $(pwd):/var/my-blog blog
tar zcvf ../site.tgz _site/

git clean -xdf
git reset --hard

# gh-pagesブランチをチェックアウトする
git checkout gh-pages
git pull origin gh-pages

# CNAMEファイルを退避する
cp CNAME ../

# 既存ファイルを削除する
git rm -rf '*'

# 生成したu6k.Blogを展開する
tar zxvf ../site.tgz
mv _site/* .
rm -r _site/

mv ../CNAME .

# gitプッシュする
git add .
git commit -m "generate u6k.Blog"
git push origin gh-pages

Maintainer

Contribute

貴重なアイデアをご提案やバグ報告などを頂ける場合は、Issueを書いていただけると幸いです。

License

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。