Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

sqaleに静的ページをアップロードする(Git編)

Sqale - Sqale で静的なウェブサイトを公開するにも、
Sqaleに静的ページをアップロードする方法が書いてあります。
ところが……SSHでの接続が前提になっており、
Gitで作業してたフォルダをアップロードするときには少し手順が違います。
というわけで、今回はGItで管理している静的サイトをSqaleにぶん投げる方法についてメモします。

前提

  • 既にSqaleのアカウントを持っている
  • Gitの登録は既にすんでいる
  • 次のようなフォルダ構成を想定

.
├── Gemfile
├── config.ru
└── public
├── images
│ └── logo.png
├── index.html
└── stylesheets
└── site.css

作業手順

SqaleはRailssinatraのような、動的サイト、もっと言うとRackを前提にした構成になっています。
というわけで、Rackと、それを動かすためのGemを別に追加する必要があります。

Gemfile

source :rubygems

gem "rack"
gem 'rack-cache', require: 'rack/cache'
gem 'rack-rewrite'
gem 'rack-contrib'

~/config.ru

require "rubygems"
require "bundler"
Bundler.require(:default)

use Rack::StaticCache, urls: %w(/images /javascripts /stylesheets /favicon.ico), :root => "public"
use Rack::ETag
use Rack::Cache
use Rack::Rewrite do
  rewrite '/', '/index.html'
end
run Rack::Directory.new('public')

ミソは5行目のuse Rack::StaticCacheです。
これでサイトのファイルを管理しているわけです。
%w内部と:rootを変更すればリンクを張り替えられるので、想定フォルダ構成と違う方はここを変更してください。


sshの情報をコピーし

$ git remote add sqale ssh://sqale@gateway.sqale.jp:2222/{Sqaleのユーザー名}/{アプリケーション名}.git

として、sqaleのリモート登録をします。
あとはいつも通り

$ git add Gemfile
$ git add config.ru
$ git commit -am "add rack files."

今回はデータベースがないのでこれでアップロード準備は完了です。

$ git push sqale master

として、そのままぶん投げます。
軽いのでスグに終わるでしょう。

管理画面に移動すると、デプロイを開始した旨が表示されているとおもいます。
データベースもないので、Gemの登録が終わったらすぐにみられるようになります。