16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Middleman 製の GitHub Pages サイトを Wercker で自動デプロイ

Last updated at Posted at 2014-08-21

Middleman は便利ですが、Jekyll のようにコミットするだけで GitHub Pages にデプロイできないのが玉に瑕。そこで、Wercker を使って GitHub に push されたら、自動でビルドしてデプロイするようにします。

Wercker への登録とアプリの作成

まず Wercker にユーザ登録。GitHub アカウントで登録できます。

Apps > Add an application でアプリを追加。かなり簡単に追加できます。オープンソースプロジェクトなら、3. Add werckerbot はスキップして大丈夫です。

Deploy Target の作成

できた app の Settings > Deploy targets > Add deploy target でデプロイ対象を追加。Auto deploy はチェックして、ソースの方のブランチ名を指定します。

で、Deploy pipleline > Add new variable に GITHUB_TOKEN などの名前で GitHub Token を追加します。これは、GitHub の Settings > Applications > Personal Access Tokens で生成できます。権限はデフォルトで OK。

wercker.yml の追加

ソースのブランチのルートに wercker.yml というファイルを作りましょう。ここでは仮に foo/foo.github.io というレポジトリだとします。

wercker.yml
box: wercker/rvm

build:
    steps:
        - rvm-use:
            version: 2.1.2

        - bundle-install

        - script:
            name: build with middleman
            code: bundle exec middleman build --verbose

deploy:
    steps:
        - lukevivier/gh-pages:
            token: $GITHUB_TOKEN
            basedir: ./build
            repo: foo/foo.github.com

lukevivier/gh-pages という wercker のプラグインのようなものを使っているので、とても簡単です。だた、これだとデプロイ先のブランチの履歴を毎回消してしまうので、それが嫌な人には別の方法をおすすめします。

yml のインデントがスペース 4 個じゃないとエラーになるようなので、注意しましょう。

で、これをコミットすれば準備完了。GitHub に push すれば、自動でデプロイされるはず・・・。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?