LoginSignup
4
4

More than 5 years have passed since last update.

WerckerでMiddlemanのBuild,Deployを自動化する

Last updated at Posted at 2015-04-20

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を置きます。

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が自動更新されると思います。

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