Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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の登録が終わったらすぐにみられるようになります。