LoginSignup
10
9

More than 5 years have passed since last update.

API定義管理のためにHerokuでCarteを使ってみた。

Last updated at Posted at 2016-01-06

carte.png

背景とか

APIを使って開発する際に、仲間同士でAPI定義を共有できるプライベートな場所が欲しかった。
モックまで作ってくれるapiary.ioもいいけど、いかんせん有料だ(使ってみたい・・・)

そこでCarteを使ってみることにした。
マークダウン書いてpushするだけで覚えることほとんどない。

今回は手軽に作りたかったので、常時起動させている必要もないし、herokuで作ることにした。
プライベートな場所にするためベーシック認証をつける

Carteをgitからクローン

git clone https://github.com/Wiredcraft/carte.git 

Gemfileの作成/編集

touch Gemfile
Gemfile
source 'https://rubygems.org'
ruby '2.1.0'
gem 'bundler'
gem 'jekyll'
gem 'rack-jekyll'
bundle

_config.yml編集

_config.yml
exclude: ['config.ru', 'Gemfile', 'Gemfile.lock', 'vendor']

config.ru編集

config.ru
require 'rack/jekyll'
run Rack::Jekyll.new

ベーシック認証

以下を追加する

config.ru
use Rack::Auth::Basic, "Restricted Area" do |username, password|
  [username, password] == [ENV['BASIC_AUTH_USERNAME'], ENV['BASIC_AUTH_PASSWORD']]
end

herokuには以下の設定を行う

heroku config:add BASIC_AUTH_USERNAME="user"
heroku config:add BASIC_AUTH_PASSWORD="pass"

herokuの準備

heroku create nameofyourblog --buildpack https://github.com/andycroll/heroku-buildpack-jekyll.git

すでにアプリが作成されている場合

cd my-project/
git init
heroku git:remote -a myapp
heroku buildpacks:set https://github.com/andycroll/heroku-buildpack-jekyll.git

確認

git add .
git commit -m 'first commit'
git push heroku master
heroku open

仲間同士でAPI定義

ソース管理をbitbucketに変更

git remote add origin git@bitbucket.org:xxx/yyy 

werckerでビルドとHerokuへのデプロイを行う
werckerでの設定は以下のとおり

  1. Application settingsにてAddDeployTargetよりcustom deployを選択
  2. Deploy target nameにherokuと入力
  3. Auto deployをチェック
  4. branch nameにmasterと入力
  5. SAVEする

Deploy pipelineより変数を設定する

  1. HEROKU_KEY  (Herokuで発行する)
  2. HEROKU_USER  (Herokuで設定したメールアドレス)
  3. HEROKU_APP_NAME (Herokuでのアプリ名)
  4. SAVEする

wercker.ymlは以下のとおりにする

wercker.yml

box: ruby:2.1.8
build:
    steps:
        - bundle-install
deploy:
  steps:
    - heroku-deploy:
        key: $HEROKU_KEY
        user: $HEROKU_USER
        app-name: $HEROKU_APP_NAME

あとはみんなでpushし合えばOK

参考にしたサイト

Serving a Jekyll Blog using Heroku

10
9
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
10
9