namespace :deploy do def deploy_params(env) { resource_type: env.resource_type, upload_id: env.upload_id, remote_app_home_base: env.remote_app_home_base, resource_host: env.resource_host, resource_user: env.resource_user, resource_ssh_options: env.resource_ssh_options.symbolize_keys, resource_document_root: env.resource_document_root } end def deploy_config env = Vars.new(path: "config/deploy/environment.yml", source_type: :git) config = AppBuilder::Config.new(**deploy_params(env)) config.manifest_template_path = File.join(config.archive_path, "config", "deploy", "templates", "manifest.yml.erb") config.after_archive = [ proc { env.resolve_templates( File.join(config.archive_path, "config", "deploy", "templates"), File.join(config.archive_path, "config"), excludes: ["manifest.yml"] ) } ] config end desc "Upload builded source and stretcher manifest file." task :prepare do AppBuilder::Uploader.upload(deploy_config) end end