Blog=
Pelican+BitBucket+Docker
@MGK2015
2015/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コンテナの改善
• ブログシステムのテーマ・設定ファイルをコンテ
ナ外部から変更しやすいようにする

More Related Content

PDF
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323
PDF
Learning jQuery
PDF
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
PDF
JekyllとBootstrapを使って静的なブログを作ってみたよ
PPT
Wordpress on Movable Type~WPConnectorプラグインのご紹介~
PPTX
JQuery入門
PPTX
御池サミット20130726
PPTX
Java script
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323
Learning jQuery
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
JekyllとBootstrapを使って静的なブログを作ってみたよ
Wordpress on Movable Type~WPConnectorプラグインのご紹介~
JQuery入門
御池サミット20130726
Java script

What's hot (20)

PDF
WordPress アカンパターン
PDF
jQueryを中心としたJavaScript
PPTX
20151207 shibuya handson
PDF
awm-20200215
PDF
WordPress on Movable Type
PDF
Jaws ug shimane-1
PDF
Pbox on softlayer
PDF
a-blogcsm な寺子屋 2 in Okazaki
PDF
Data API ことはじめ
PDF
WordPress on movable type(WordCamp Kobe 2013)
PDF
後期第二回ネットワークチーム講座資料
PDF
Pro aspnetmvc3framework chap23
PDF
Webpackにトライ 基本編
PDF
YAPC::Asia Tokyo 2014 前夜祭 pplog by @ppworks
PPTX
素晴らしきIAMポリシービジュアルエディタの世界
PPTX
詳説 Movable type 7
PDF
MTAppjQueryでマニュアルいらずの管理画面を
PPTX
20140924 mt cloud_handson_seminar
PPTX
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
KEY
goog.require()を手書きしていいのは小学生まで
WordPress アカンパターン
jQueryを中心としたJavaScript
20151207 shibuya handson
awm-20200215
WordPress on Movable Type
Jaws ug shimane-1
Pbox on softlayer
a-blogcsm な寺子屋 2 in Okazaki
Data API ことはじめ
WordPress on movable type(WordCamp Kobe 2013)
後期第二回ネットワークチーム講座資料
Pro aspnetmvc3framework chap23
Webpackにトライ 基本編
YAPC::Asia Tokyo 2014 前夜祭 pplog by @ppworks
素晴らしきIAMポリシービジュアルエディタの世界
詳説 Movable type 7
MTAppjQueryでマニュアルいらずの管理画面を
20140924 mt cloud_handson_seminar
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
goog.require()を手書きしていいのは小学生まで
Ad

More from Nobuaki Aoki (20)

PDF
お小遣いでKubernetesクラスタ
PPTX
このはちゃんとConoHaと私
PPTX
Apache Usergridについて(公開用)
PPTX
Kumalicaのご紹介(公開用)
PPTX
Windows 10 mobile uwpアプリの始め方~continuum編~ (公開用)
PPTX
Windows 10 mobileでnfc~suica・edy対応編~(公開用)
PPTX
第1回三重合同懇親会
PPTX
IoTの始め方~.NET Micro Framework編
PPTX
Getting started with edison
PPTX
第11回まどべんよっかいちの告知
PPTX
第1回三重合同懇親会の告知
PPTX
(仮)登別クマ牧場のテツロウについて
PPTX
まどべんよっかいちのご紹介
PPTX
Microsoft Azure Mobile Serviceによるアプリ構築
PPTX
mbedとwindows 8.1
PPTX
Windows.Web.Http.HttpClientとWebAuthenticationBroker
PPTX
Windows phone 8プログラミング~gps&地図編~
PPTX
Windows Azure Mobile Servicesによるアプリ構築
PPTX
Windows phone 8のデバイスを使おう~カメラ&フォト編~(公開用)
PPTX
Windows phone 8のデバイスを使おう~近接通信編~(公開用)
お小遣いでKubernetesクラスタ
このはちゃんとConoHaと私
Apache Usergridについて(公開用)
Kumalicaのご紹介(公開用)
Windows 10 mobile uwpアプリの始め方~continuum編~ (公開用)
Windows 10 mobileでnfc~suica・edy対応編~(公開用)
第1回三重合同懇親会
IoTの始め方~.NET Micro Framework編
Getting started with edison
第11回まどべんよっかいちの告知
第1回三重合同懇親会の告知
(仮)登別クマ牧場のテツロウについて
まどべんよっかいちのご紹介
Microsoft Azure Mobile Serviceによるアプリ構築
mbedとwindows 8.1
Windows.Web.Http.HttpClientとWebAuthenticationBroker
Windows phone 8プログラミング~gps&地図編~
Windows Azure Mobile Servicesによるアプリ構築
Windows phone 8のデバイスを使おう~カメラ&フォト編~(公開用)
Windows phone 8のデバイスを使おう~近接通信編~(公開用)
Ad

Blog=pelican+bit bucket+docker