werckerとは
werckerは、ホストしたリポジトリのビルドとかデプロイを自動で行ってくれるサービスです。ちなみに、middlemanは、ruby製のサイトジェネレーターです。
ここでいう自動化というのは、ローカルのファイルをcommitし、pushすれば、build,deployされるという意味で使います。
middlemanの使い方
middlemanの使い方は、とても簡単です。publicへのuploadまでの手順は、まず、テンプレートをダウンロードしてきて、bundle
し、build, git
で管理している場合は、pushまたは、deployを済ませれば良いだけです。
$ git clone https://github.com/syui/middleman
$ cd middleman
$ rvm install 1.9.3
$ rvm use 1.9.3
$ gem i bundler
$ bundle
$ middleman build
$ middleman preview
$ curl localhost:4567
$ vim config.rb
$ middleman deploy
仕組みは簡単で、middleman build
コマンドが実行されると、build
フォルダができますので、それをWeb Serverの方に、Uploadすれば、サイトを公開する形になります。
ここで、ビルドからサーバーへのアップロードまでを実行するコマンドがmiddleman deploy
になります。
私の場合、GitHubのGitHub Pagesへホスティングしていますので、その形式で、config.rb
が書かれています。
ここで、GitHub Userは、username.github.io
というリポジトリでホスティングしている場合にはmaster
にbuildをpush
することになり、それ以外のrepositoryで公開したい場合は、gh-pages
ブランチにpush
します。この場合は、URLがusername.github.io/repo
で公開されます。
大体、初歩的な説明が終わりましたので、次にwerckerについて解説します。
werckerの使い方
GitHubアカウントがある場合、そのアカウントを使いログイン登録できます。
Apps > Add an application でアプリを追加します。ここには、GitHubのリポジトリを指定します。
Settings > Deploy targets > Add deploy target > Custom deploy でデプロイ対象を追加。Auto deploy はチェックして、ソースの方のブランチ名を指定します。
Deploy pipleline > Add new variable にて、werckerで使う環境変数を設定します。ここでは、GitHubのAPIを使えるようにしたいと思います。変数名は、GITHUB_TOKEN
にしておいてください。設定ファイルの記述が変わってきます。
GitHubで Settings > Applications > Personal Access Tokens で生成し、キーをWerckerのところに記述します。
あとは、gitで管理してるsourceのルートディレクトリに、wercker.yml
を置きます。
box: wercker/rvm
build:
steps:
- rvm-use:
version: 1.9.3
- bundle-install
- script:
name: build with middleman
code: bundle exec middleman build --verbose
deploy:
steps:
- lukevivier/gh-pages:
token: $GITHUB_TOKEN
basedir: ./build
repo: syui/middleman
それをpushすると、buildされ、deployされるしくみです。
したがって、middlemanでblogを更新する際にも、記事を書いて、それをpushすればいいので、楽です。
$ middleman article test
$ cd source/blog
$ vim test.md
$ git add test.md
$ git commit -m "update"
$ git push
これでwerckerがリポジトリをbuild,deployしてくれるので、blogが自動更新されると思います。