Кажется, я не могу установить Capistrano с рельсов без. Почему это? - PullRequest
0 голосов
/ 22 марта 2011

Я безуспешно пытаюсь установить capistrano на моем компьютере с Ubuntu.

Вот список выданных команд:

1) sudo apt-get update

2) sudo apt-get install build-essential git-core curl

3) bash <<(curl <a href="http://rvm.beginrescueend.com/releases/rvm-install-head" rel="nofollow">http://rvm.beginrescueend.com/releases/rvm-install-head)

4) echo '[[-s "$ HOME / .rvm / scripts / rvm"]] && source "$ HOME / .rvm / scripts / rvm" '>> ~ / .bashrc

5) (закрыть и снова открыть окно терминала)

6) rvm notes

(ищется: "Для Ruby (MRI & ree) вы должны установить следующие зависимости ОС:"

и сделал:

7) sudo aptitude install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev-dev-autocur6 libcsc6dev

Теперь мы можем установить ruby, выполнив:

8) rvm install 1.9.2

Затем мы скажем rvm использовать его:

9)рвм 1.9.2

и делатьэто всегда:

10) rvm - использование по умолчанию 1.9.2

С правильно установленным ruby ​​мы можем теперь:

11) gem install capistrano

И затем:

12) gem install railsless-deploy

Несмотря на то, что все эти шаги являются успешными, когда я выполняю: cap -T

Я не могу увидетьразвертывание задач, перечисленных как и ожидалось.

Я только получаю: cap вызывает cap shell

в списке.

Зачем?

Нужен ли Capfile?С какими требуются настройки?Если так, то означает ли это, что нам нужно вводить команды командной строки или capistrano только после перемещения каталога проекта?Пожалуйста, совет, я абсолютно новичок на Capistrano здесь.

Большое спасибо, MEM

1 Ответ

4 голосов
/ 22 марта 2011

Да, вам все еще нужен Capfile.

ШАГ 1. Создайте Capfile с помощью следующей команды, запустив его из каталога проекта:

capify .

(Это также создаст config / deploy.rb)

ШАГ 2. Отредактируйте этот новый Capfile согласно readme railsless-deploy так, чтобы он имел следующее содержимое:

require 'rubygems'
require 'railsless-deploy'
load    'config/deploy'

На данный момент вы можете запустить

cap -T

и вы должны увидеть такие задачи, как «cap deploy» в списке. Однако capistrano пока ничего не знает о ваших целевых серверах и т. Д.

ШАГ 3. Отредактируйте config / deploy.rb, чтобы предоставить подробную информацию о вашем SCM, именах серверов и т. Д.

Для получения справки по этому вопросу см. Раздел «Конфигурация» в Capistrano «С самого начала» вики.

Вы также можете переопределить задачу развертывания здесь, если значение по умолчанию, предоставленное railsless-deploy, не подходит.

Минимальный config / deploy.rb может выглядеть следующим образом:

set :user, "myuser"
set :application, "myapp"
set :repository,  "https://github.com/me/myapprepo"
set :scm, :git
default_run_options[:pty] = true
role :web, "myhost.example.com"
role :app, "myhost.example.com"

Конечно, вы должны исправить вышеперечисленное, указав данные своего приложения, хоста и логина.

Затем вы можете следовать типичному пути

cap deploy:setup
cap deploy:check
cap deploy
# ...  etc

Однако после cap deploy: программа установки создала дерево каталогов развертывания (по умолчанию что-то вроде / u / apps / myapp /) на удаленных серверах, вам может потребоваться изменить владельца (или разрешения) для Кап развернуть, чтобы запустить. Следующее будет рекурсивно менять владельца и группу / u / apps / myapp / на пользователя «myuser».

sudo chown -R myuser. /u/apps/myapp

На наших серверах я фактически создаю этот каталог / u / apps / и меняю его владельца при подготовке сервера (скажем, с puppet) задолго до того, как capistrano их увидит. Таким образом, разработчики могут использовать cap deploy: setup и cap deploy и т. Д., Не затрагивая эти проблемы.

"Значит ли это, что нам нужно вводить команды командной строки или capistrano только после перемещения каталога проекта?"

Я не уверен, что понимаю эту часть вашего вопроса. Если вы переместите каталог проекта, вы все равно сможете выполнять команды capistrano, но вы всегда должны выполнять их из каталога проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...