16
Blog= Pelican+BitBucket+Docker @MGK2015 2015/3/21 まどべんよっかいち 青木 宣明 (@kumar0001)

Blog=pelican+bit bucket+docker

Embed Size (px)

Citation preview

Blog=Pelican+BitBucket+Docker

@MGK20152015/3/21まどべんよっかいち 青木 宣明 (@kumar0001)

ところで…

ブログを書いてますか?

ブログのツール

ブログサービスの利用

•はてな, Livedoorなど

ブログサーバの構築

• WordPress, BlogEngine.NETなど

CMS(コンテンツ管理システム)の構築

• Drupal, OrchardCMSなど

コンテンツの動的表示

コンテンツの動的表示

独自記法データの囲い込み

問題① PGを書く立場での理想

テキストファイルで記事を作成

• 特定環境に依存した記法は避けたい

• 実行環境を選ぶブログエディタは避けたい

バージョン管理

• 複数の下書きの管理

• 修正履歴の管理

問題② 動的なWebサイトの表示

ブログでは不要

• 記事を書いた時点で内容が固定される

• 動的に作成すべき記事はないはず

アクセス負荷への対応

• PVが増えたら負荷が高まり、動的な表示は

不利

問題③ 複数のブログサイト運営

複数のブログサイト

• テーマごとにブログサイトを分けたい

• 各ブログサイトは簡単に構築したい

ブログサイト構築のコスト

• 手軽にブログサイトを増やしたい

Blog=Pelican+BitBucket+Docker

①Pelicanを使ったMarkdownでの記事の執筆

②Gitのブランチを使った記事のリリース管理

③Hookを使ったGit PushによるPelican起動

④Dockerでのコンテナ化

Pelican

Pythonで書かれたHTMLジェネレータ

Markdownなどで記事を作成

Pelican

コマンドで静的なHTML/CSSを生成

• Pelican 入力元 -o 出力先 -s 設定ファイル

• makeがあると便利

処理の流れ

Pelican

Markdownファイル

Gitリポジトリ

①Push

②Pelicanを起動

ブログサイトConoHa VPS

ブログサイト

③アップロード

アップロードが面倒

BitBucket

Gitでのバージョン管理

Hookでの外部システムとの連携

処理の流れ

Pelican

Web AP

MarkdownファイルGitリポジトリ

①Push

②Hookを起動③GitからMarkdown をPull

④Pelicanを起動

ブログサイトConoHa VPS

外部との接点

④HookのWeb APのポート番号

③ブログ公開用Webサーバのポート番号

②ブログシステムのホスト名(FQDN)

①Gitリポジトリ名

これの4点をパラメータにしてブログシステムをDockerコンテナに

パッケージ化

Dockerコンテナ

MarkdownファイルGitリポジトリ

①Push

ブログサイト

ConoHa VPSブログシステムコンテナ

②Hookを起動

④Pelicanを起動

③GitからMarkdown をPull

まとめ

PG開発と同じ手順でブログを作成・投稿

• Markdownファイルを作成して、Git Commit & Push

•ファイル作成は普通のテキストファイルで

Gitによる下書き・バージョン管理

•下書きはブランチで管理

•複数人による執筆にも対応

課題

予約投稿

•指定した日付にブログが処理させたい

Webからの記事の投稿

•スマートフォンからの投稿が現状では厳しい

Dockerコンテナの改善

•ブログシステムのテーマ・設定ファイルをコンテ

ナ外部から変更しやすいようにする