@wal0vari

Не могу настроить capistrano, что я делаю не так?

Настроил gem capistrano по этой инструкции
Останавливается на моменте
Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/"имя проекта"/git-ssh.sh /usr/bin/env git ls-remote git@мойгитлаб:гит )
Ключи добавлял, руками все подтягивается.
Помогите!!!
  • Вопрос задан
  • 3376 просмотров
Решения вопроса 1
inf
@inf
DevOps Engineer
Инструкция выглядит содержащей много лишней ерунды. Рекомендую читать с Capistrano Setup.
По минимум для установки capistrano нужно:
  1. Понять какие инструменты нужны для деплоя: rvm, bower, etc ...
  2. Добавить всё что нужно в Gemfile
    # Use Capistrano for deployment
    group :development do
      gem 'capistrano'
      gem 'capistrano-rails'
      gem 'capistrano-bundler'
      gem 'capistrano-rvm'
      gem 'capistrano-passenger'
      gem 'capistrano-bower'
    end
  3. Откапистранить приложение bundle exec cap install
  4. Затребовать все эти модули в Capfile
    require 'capistrano/rvm'
    require 'capistrano/bundler'
    require 'capistrano/rails'
    require 'capistrano/bower'
    require 'capistrano/passenger'

  5. Заполнить минималистский config/deploy.rb
    # config valid only for current version of Capistrano
    lock '3.3.5'
    
    set :application, 'my_awesome_site'
    set :repo_url, 'git@bitbucket.org:username/my_awesome_site.git'
    
    # Default deploy_to directory is /var/www/my_app_name
    set :deploy_to, "/home/user/www/#{fetch(:application)}"
    
    # Default value for :scm is :git
    set :scm, :git

  6. Задать специфичные параметры среды развёртки в config/deploy/production.rb
    role :app, %w{myhosting.ru}
    role :web, %w{myhosting.ru}
    role :db,  %w{myhosting.ru}
    
    
    # Extended Server Syntax
    # ======================
    # This can be used to drop a more detailed server definition into the
    # server list. The second argument is a, or duck-types, Hash and is
    # used to set extended properties on the server.
    
    server 'myhosting.ru', user: 'user', roles: %w{web app db}
    set :rails_env, 'production'
    
    set :rvm_type, :user                     # Defaults to: :auto
    set :rvm_ruby_version, '2.1.4@r4'      # Defaults to: 'default'

  7. Всё. Потом сделать bundle exec cap production deploy:check и долго долго делать bundle exec cap production deploy отлавливая ошибки деплоя и исправляя их :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
viktorvsk
@viktorvsk
К сожалению, капистрано - не та вещь, которую можно дебажить удаленно в экстрасенс-моде.
Я бы посоветовал разве что разбить задачу на шаги и вооружиться дебагом.
возможно, юзеру деплоеру нужен судо, возможно у него нет ключей, тут так просто не скажешь.
У Капистрано не самые лучшие сообщения при дебаге.

Смотрите, от какого юзера делается деплой. Какие у него права. Какие команды выполнились, а какие нет. Смотри все логи, которые только найдете. Попробуйте ради теста перенести исходники на битбакет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы