【问题标题】:Chef deploy_revision not creating git revision folderChef deploy_revision 未创建 git 修订文件夹
【发布时间】:2015-01-15 15:19:45
【问题描述】:

我正在尝试在 vagrant 机器上使用 Chef 部署 Rails 应用程序。我正在使用 depoly_revision 资源来部署 rails 应用程序。但我收到以下错误。

致命:Errno::ENOENT: deploy_revision[/var/www/app_name](applications::recipe_name 第 130 行)出现错误:Errno::ENOENT: No such file or directory - /var/www/app_name/releases /03d4548d9351df442ec9b5e08baef5b4ec3fce1b

我的部署块如下

directory "/var/www" do
    owner "root"
    group "root"
    action :create
  end

  directory "/var/www/#{app_name}" do
    owner app_name
    group app_name
  end

  directory "/var/www/#{app_name}/shared/" do
    owner app_name
    group app_name
  end

  directory "/var/www/#{app_name}/releases/" do
    owner app_name
    group app_name
  end

  directory "/var/www/#{app_name}/shared/cached-copy" do
    owner app_name
    group app_name
  end

deploy_revision deploy_to do
  deploy_to "/var/www/#{app_name}"
  action app_environment_config["action"]
  repo app_config["repository"]
  revision app_environment_config["revision"]
  user app_name
  group app_name
  migrate params[:migrate]
  migration_command "rake db:migrate --trace &> migrate.log"
  environment("RAILS_ENV" => env, "APPLICATION_NAME" => app_name)
  shallow_clone true
  symlinks("assets" => "public/assets", "pids" => "tmp/pids", "sockets" => "tmp/sockets", "log" => "log")
  symlink_before_migrate({})

  before_migrate do
    execute "bundle install --path #{deploy_to}/shared/bundle --deployment --without development test" do
      cwd release_path
      user app_name
    end
  end
end

【问题讨论】:

  • /var/www/#{app_name} 不存在,是吗?

标签: ruby-on-rails-4 deployment chef-infra


【解决方案1】:

您可能只需要先创建目录:

directory "/var/www/#{app_name}" do
  user app_name
  group app_name
end

【讨论】:

    猜你喜欢
    • 2012-06-17
    • 2010-12-03
    • 2012-07-14
    • 2016-07-12
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    相关资源
    最近更新 更多