class Hyrb::Tasks::Ansible::CreatePlaybook
Public Instance Methods
run(env)
click to toggle source
# File lib/hyrb/tasks/ansible.rb, line 47 def run(env) host = Models::AnsibleHost.new(env.project, env.environment) host.save! say "Saved inventory file to #{host.filepath}", :green site_playbook = Models::AnsibleSite.new(env.project, env.environment) site_playbook.data.merge!({ project_name: env.project.name, host: env.environment.host, deploy_user: env.environment.deploy_user, base_path: env.environment.base_path, domain: env.environment.domain, relative_web_root: env.environment.relative_web_root, }) site_playbook.hosts = env.environment.label if ! site_playbook.mysql_host && yes?("Does the project use a SQL database?") invoke Environment::Database site_playbook.data.merge!({ mysql_host: env.environment.database_host, mysql_db: env.environment.database_name, mysql_user: env.environment.database_user, mysql_password: env.environment.database_password, }) # TODO: add mysql role to playbook site_playbook.vars_prompt = [{ "name" => "mysql_root_user", "prompt" => "MySQL Root User", "private" => false },{ "name" => "mysql_root_password", "prompt" => "MySQL Root Password" }] end site_playbook.save! say "Saved site playbook to #{site_playbook.filepath}", :green say "Run it with", :green say "\tcd #{env.project.ansible_path}", :green say "\tansible-playbook -i $(which yaminv) #{env.environment.label}.yml", :green end