by shigemk2

当面は技術的なことしか書かない

HerokuでGauche (あるいは、好きな言語何でも) #lldiver

  1. Heroku
  2. Docker
  3. Gauche

Y Combinatorにかぶれる

HerokuとかDropboxとかに出資したひと

この本を読むとHerokuを使わないのは有り得ないという流れ

  • App(開発者が実際にごにょごにょする部分)
  • Cedar Stack
  • Dyno
  • Inner Core

The Celadon Cedar Stack

  • Herokuのデフォルトスタック
  • ベースOS はUbuntu10.04
  • ライブラリ
  • 言語実行ランタイム

Slug

ドキュメントに書いてあって、これをつくれって書いてあった

実行可能なCedarアプリケーションをtarアーカイブしたもの

作成時の約束は一応ある

Program Data → app → tar → slug

Herokuにのせるとうごく

リリース時にGitは使わない

glibcのバージョンが違うとかバイナリの形式が違うとかで、動かない

heroku run bashはまどろっこしいので、

Docker

Dockerを使うと簡単。

ビルド→slug→heroku

Dockerfileを作るだけ。作るだけ。

Dockerfile

Ubuntuベースですね。

RUN apt-get update -y
RUN apt-get install -y wget gcc
RUN apt-get install -y zliblg-dev slib
RUN apt-get install -y make autoconf

.....

RUN wget http://prdownloads.sourceforge.net/gauche/Gauche-0.9.4.tgz
RUN tar xzvf Gauche-0.9.4.tgz

WORKDIR Gauche-0.9.4
./configure

.....# あらかじめGitHubからクローンしておく

ADD Gauche /tmp/Gauche

....

WORKDIR /opt
ENTRYPOINT 

イメージのビルドと起動

GaucheでWebアプリ

  • Gaucheの開発版
  • Gauche-makiki(Sinatraぽいウェブフレームワーク)
  • Gache-gl

リリースまでの道程

  • Dockerで作ったappディレクトリ
  • アプリケーション

コピーしてアーカイブ

Slugをアロケート

環境変数

リリース