Thanks for the response.
I'm using the following task:
- debug: msg="{{ playbook_dir }}"
With this output...
ok: [localhost] => {
"msg": "."
}
So it's returning a relative path. I get this same output regardless of
where I run the debug task, so this doesn't help me point to my project
root if I use the playbook_dir variable in one of my roles or some other
subdirectory. Incidentally, inventory_dir returns an absolute path (e.g.
/etc/ansible), though the inventory directory isn't what I'm after.
On Sunday, July 27, 2014 4:54:33 PM UTC-4, Michael DeHaan wrote:
>
> This may be a useful resource for organization tips:
>
> http://docs.ansible.com/playbooks_best_practices.html
>
> Also, if you haven't seen it already, the ansible-galaxy CLI can be used
> to quickly stub out a role with the "init" command.
>
> You may wish to read about role dependencies, however galaxy is not meant
> as a way to distribute top level playbooks - in practice, they are seldom
> reusable because nobody wants to install the exact same infrastructure
> (you've already made a lot of choices about Sublime and Node), whereas
> roles provide a more ideal chunk of reuse.
>
> As for your directory questions try, "{{ playbookdir }}/some_path".
>
>
>
>
>
>
>
>
> On Sun, Jul 27, 2014 at 10:31 AM, Synaesthete <[email protected]
> <javascript:>> wrote:
>
>> I'm working on a small Ansible project that's a little outside its
>> primary use-case. I'm automating the generation of new web projects in a
>> Mac OS X dev environment. There are two objectives:
>>
>> 1.) Install all development tools on the local machine
>> 2.) Compose various projects based on small component roles/tasks
>>
>> As a simple example, if you run the main playbook, it will prompt you for
>> a project folder, install Sublime Text, NodeJS, etc., and set up all the
>> basic files needed to begin working on a new project. Here's a subset of my
>> project folder:
>>
>> ansible-generator
>> |- main.yml <-- Main playbook
>> |- apps
>> |- nodejs
>> |- tasks,vars,defaults,etc.
>> |- sublime
>> |- scaffolds
>> |- git
>> |- node
>> |- vagrant
>> |- install
>> |- dmg.yml
>>
>>
>> Everything under both apps and scaffolds are roles. 'apps' install local
>> dev tools, and 'scaffolds' uses templates to set up and modify new project
>> files (package.json, Vagrantfile, .gitignore, etc.)
>>
>> I have a couple questions:
>>
>> 1.) Could this entire project be turned in to a role itself and be
>> distributed on Ansible Galaxy, given its different project layout and
>> different use-case? Since this is a project built using lots of small
>> sub-roles, how could I run all those dependent roles from tasks/main.yml?
>>
>> 2.) The roles in the /apps folder need to reference tasks under the
>> /install folder. Right now I have to use relative paths like
>> "../../../dmg.yml". I'd rather set up a variable further up and just use
>> "{{ installers }}/dmg.yml", but without just setting this variable to
>> "../../.." What's the best way to get the absolute path to the root of this
>> project? The playbook_dir variable always returns "."
>>
>> 3.) Any other thoughts on organizing my project? Is it reasonable to have
>> roles in both /apps and /scaffolds or does this seem unwieldy compared to
>> putting everything under a /roles folder?
>>
>> Thanks! If you'd like to take a closer look at my project you can find it
>> here: https://github.com/rvangundy/ansible-generator
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/647cf28d-77cc-4ebf-84db-ec87659fe0a7%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/647cf28d-77cc-4ebf-84db-ec87659fe0a7%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/0cf0257a-c8e9-4bf3-aa4f-5a13b70ff533%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.