class Hyrb::Tasks::Project::Bootstrap
Public Instance Methods
run(env)
click to toggle source
# File lib/hyrb/tasks/project/bootstrap.rb, line 28 def run(env) prompt "Project title", env.project, :title, env.project.name.humanize prompt "Project description", env.project, :description if ! env.project.users.try(:any?) || yes?("Update users for this project?") invoke Developers::Download invoke Developers::AddToProject end if ! env.project.repo_name && yes?("Should the project have a Github repo?") invoke Github::CreateRepo end if ! env.project.github_team && yes?("Should the project have a Github team?") invoke Github::CreateProjectTeam end if env.project.github_team invoke Github::SyncProjectTeam end if ! env.project.room_name invoke Hipchat::CreateRoom if yes? "Should the project have a Hipchat room?" end if env.project.repo_name && env.project.room_name && ! env.project.has_hipchat_hook invoke CreateHipchatHook end if env.environment_name || yes?("Work on a project environment?") invoke Environment::Init if env.environment.host say "Sever for evironment exists: #{env.environment.host}", :yellow elsif yes?("Provision a server for this environment?") provisioners = { digital_ocean: Provision::DigitalOcean, rackspace: Provision::Rackspace, } provider_name = ask "Provider:", { limited_to: provisioners.keys.map(&:to_s) } invoke provisioners[provider_name.to_sym] end if ! env.environment.has_dns_record && yes?("Create a DNS record?") invoke Rackspace::CreateDNSRecord end invoke Environment::SetupExisting if yes? "Set up ansible for this environment?" invoke Ansible::CreatePlaybook end end end