0

すべてをセットアップし、無料利用枠でssh経由でサーバーに接続できます

今私のプロジェクトはどうすればサーバーファイルとデータベースをアップロードできますか?

ファイルをサーバーにデプロイするラバーなどのいくつかのgemがレールにあるようですが、変更をコミットできるようにgitを統合するにはどうすればよいですか?

4

1 に答える 1

2

コード

ファイルのアップロードについては、 capistranoをチェックしてください。もう1つの人気のあるツールは、デプロイヤーのVladです。

deploy.rbこれは、現在1台のサーバーのみが必要なrails3アプリ(乗客を想定)の単純なものです(すべてを実際の値に置き換えます)。

require 'bundler/capistrano'
require 'capistrano_colors'

set :application, "<APP_NAME>"
set :repository,  "git@github.com:<USER>/<PROJECT>.git"
set :branch, "master"
set :deploy_to, "/home/<DEPLOY_USER>/<APP_NAME>"
set :keep_releases, 3

set :scm, :git
set :user, "<DEPLOY_USER>"
set :use_sudo, false
set :deploy_via, :remote_cache

default_run_options[:pty] = true
default_run_options[:shell] = '/bin/bash -l'

ssh_options[:forward_agent] = true

role :web, "<IP_OR_PUBLIC_DNS>"
role :app, "<IP_OR_PUBLIC_DNS>"

namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
end

after "deploy", "deploy:cleanup"

注:を実行する前に、デプロイユーザーの秘密キーとgithubに使用するキーをsshで追加する必要がありますcap deploy。(例ssh-add ~/.ssh/id_dsa

データベース

cap deploy:migrationsデータベースに関しては、を介してデプロイの一部として、またはを介して独立して移行を実行できますcap deploy:migrate。役割を持つサーバーを必ずリストしてください:db

role :db, "<IP_OR_PUBLIC_DNS>", :primary => true

注:これは、移行の実行に使用されるサーバーであり、実際のデータベースではありません。データベースはで指定する必要がありますdatabase.yml)。

データベース自体のセットアップはこの回答の範囲を超えていますが、インスタンスで直接データベースを実行するか、AmazonのRDSを確認することができます。これは、セットアップが非常に簡単で、単一のデータベースで実行するデータベースよりも安定しています。実例。

于 2012-07-28T10:43:24.880 に答える