Capistrano部署 - 卡在第03步

时间:2016-08-10 17:52:36

标签: ruby capistrano

我一直在玩capistrano部署,我设法连接到我的服务器,但现在我被困在第03步,但我没有日志错误,我不知道哪个可能是接下来的事情做。

非常感谢帮助。我当然不是要你帮我解决的。我只想要一些指导,谢谢。

$ cap production deploy --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke deploy (first_time)
** Execute deploy
** Invoke deploy:starting (first_time)
** Execute deploy:starting
** Invoke deploy:check (first_time)
** Execute deploy:check
** Invoke git:check (first_time)
** Invoke git:wrapper (first_time)
** Execute git:wrapper
00:00 git:wrapper
      01 mkdir -p /tmp
    ✔ 01 vlmg@vlmg.mx 0.249s
      Uploading /tmp/git-ssh-vlmg-forms-production-ubuntu.sh 100.0%
      02 chmod 700 /tmp/git-ssh-vlmg-forms-production-ubuntu.sh
    ✔ 02 vlmg@vlmg.mx 0.055s

这是我的deploy.rb

# config valid only for current version of Capistrano
lock '3.6.0'

set :application, 'vlmg-forms'
set :repo_url, 'git@github.com:jose-octomedia/ar-vlmg-contact-forms.git'

# Default branch is :master
# ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp

# Default deploy_to directory is /var/www/my_app_name
#set :deploy_to, '/'

# Default value for :scm is :git
# set :scm, :git

# Default value for :format is :airbrussh.
# set :format, :airbrussh

# You can configure the Airbrussh format using :format_options.
# These are the defaults.
# set :format_options, command_output: true, log_file: 'log/capistrano.log', color: :auto, truncate: :auto

# Default value for :pty is false
set :pty, true

# Default value for :linked_files is []
# append :linked_files, 'config/database.yml', 'config/secrets.yml'

# Default value for linked_dirs is []
# append :linked_dirs, 'log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'public/system'

# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }

# Default value for keep_releases is 5
# set :keep_releases, 5

desc 'Restart application'
    task :restart do
    on roles(:web), in: :sequence, wait: 5 do
      execute "service thin restart"  ## -> line you should add
    end
end

这是我的production.rb文件

# server-based syntax
# ======================
# Defines a single server with a list of roles and multiple properties.
# You can define all roles on a single server, or split them:
server 'vlmg.mx', user: 'vlmg', roles: %w{web}, primary: true, port: 15555
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
# server 'db.example.com', user: 'deploy', roles: %w{db}

set :deploy_to, "/home/vlmg/subdomains/ar.vlmg.mx"


# role-based syntax
# ==================

# Defines a role with one or multiple servers. The primary server in each
# group is considered to be the first unless any  hosts have the primary
# property set. Specify the username and a domain or IP for the server.
# Don't use `:all`, it's a meta role.

#role :app, %w{admin@example.com}, my_property: :my_value
role :web, %w{vlmg@vlmg.mx}
# role :db,  %w{deploy@example.com}



# Configuration
# =============
# You can set any configuration variable like in config/deploy.rb
# These variables are then only loaded and set in this stage.
# For available Capistrano configuration variables see the documentation page.
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.



# Custom SSH Options
# ==================
# You may pass any option but keep in mind that net/ssh understands a
# limited set of options, consult the Net::SSH documentation.
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
#
# Global options
# --------------
  set :ssh_options, {
    keys: %w(/home/ubuntu/.ssh/id_rsa),
    forward_agent: true
    #auth_methods: %w(password)
  }
#
# The server-based syntax can be used to override options:
# ------------------------------------
# server 'example.com',
#   user: 'user_name',
#   roles: %w{web app},
#   ssh_options: {
#     user: 'user_name', # overrides user setting above
#     keys: %w(/home/ubuntu/.ssh/id_rsa),
#    forward_agent: false,
##     auth_methods: %w(publickey password)
#     # password: 'please use keys'
#   }

编辑:响应启用日志。这是结果。 日志中仍然没有任何可以帮助解决的问题。

     INFO ---------------------------------------------------------------------------
     INFO START 2016-08-10 19:49:49 +0000 cap production deploy
     INFO ---------------------------------------------------------------------------
     INFO [204569e4] Running /usr/bin/env mkdir -p /tmp as vlmg@vlmg.mx
    DEBUG [204569e4] Command: /usr/bin/env mkdir -p /tmp
     INFO [9596edc0] Running /usr/bin/env mkdir -p /tmp as vlmg@vlmg.mx
    DEBUG [9596edc0] Command: /usr/bin/env mkdir -p /tmp
     INFO [9596edc0] Finished in 0.288 seconds with exit status 0 (successful).
    DEBUG Uploading /tmp/git-ssh-vlmg-forms-production-ubuntu.sh 0.0%
     INFO Uploading /tmp/git-ssh-vlmg-forms-production-ubuntu.sh 100.0%
     INFO [1014be51] Running /usr/bin/env chmod 700 /tmp/git-ssh-vlmg-forms-production-ubuntu.sh as vlmg@vlmg.mx
    DEBUG [1014be51] Command: /usr/bin/env chmod 700 /tmp/git-ssh-vlmg-forms-production-ubuntu.sh
     INFO [1014be51] Finished in 0.057 seconds with exit status 0 (successful).

在最后一个命令之后,结果基本相同,然后挂起20-30秒:

  00:00 git:wrapper
        01 mkdir -p /tmp
      ✔ 01 vlmg@vlmg.mx 0.265s
        Uploading /tmp/git-ssh-vlmg-forms-production-ubuntu.sh 100.0%
        02 chmod 700 /tmp/git-ssh-vlmg-forms-production-ubuntu.sh
      ✔ 02 vlmg@vlmg.mx 0.063s
  (Backtrace restricted to imported tasks)
  cap aborted!
  Net::SSH::ConnectionTimeout: Net::SSH::ConnectionTimeout

  Errno::ETIMEDOUT: Connection timed out - connect(2) for 109.73.225.169:22

  Tasks: TOP => git:wrapper
  (See full trace by running task with --trace)

这一步03解决了,谢谢。解决方案是在ssh连接上指定端口。

set :ssh_options, {
    keys: %w(/home/ubuntu/.ssh/id_rsa),
    forward_agent: true,
    port: 15555,
    #auth_methods: %w(password)
}

现在我有了新的错误,但我认为这应该是另一篇文章。

0 个答案:

没有答案