I'd like to be able to run a role and, by default, exclude the code
deployment portion. I'd also like to be able to deploy the code without
running any other tasks.
I could include a line in the main.yml file for my project role that would
only include the deploy.yml file when the deploy_code variable is true.
Something similar to below:
- include: deploy.yml
when: "deploy_code"
To deploy code, I would run a command like the following:
ansible-playbook site.yml --extra-vars "deploy_code=true"
The problem with this is that my site.yml file has several other entries
besides just my project role. The same is true for my project role's
main.yml – it contains other includes besides the deploy.yml. So if run the
above command, yes my code will deploy, but every other task will also run,
which I don't want to have happen.
Does that make things clearer at all?
On Friday, March 14, 2014 12:33:48 PM UTC-7, Michael DeHaan wrote:
>
> "The problem with that is that code deployment would be accompanied by
> all of the other tasks for provisioning the server, which is no bueno."
>
> I don't understand this part, can you elaborate?
>
>
> On Fri, Mar 14, 2014 at 3:30 PM, James Goodhouse
> <[email protected]<javascript:>
> > wrote:
>
>> I'm aware that I can do that, and have been thinking I might try to
>> implement some sort of variable to determine if I include my deploy.yml
>> file. This solution would work in that code wouldn't deploy unless I
>> explicitly set that variable via the command line. The problem with that is
>> that code deployment would be accompanied by all of the other tasks for
>> provisioning the server, which is no bueno.
>>
>>
>> On Friday, March 14, 2014 10:33:51 AM UTC-7, Michael DeHaan wrote:
>>
>>> So the task file roles/foo/tasks/main.yml is always loaded, however this
>>> pattern is common:
>>>
>>> main.yml:
>>>
>>> ----
>>> - include: debian.yml
>>> when: "ansible_os_family == 'Debian'"
>>>
>>> - include: redhat.yml
>>> when: "ansible_os_family == 'RedHat'"
>>>
>>> - include: common.yml # all the time without conditionals.
>>>
>>> Hope this helps!
>>>
>>>
>>>
>>>
>>>
>>> On Fri, Mar 14, 2014 at 1:25 PM, James Goodhouse <[email protected]>wrote:
>>>
>>>> When specifying a role to use in a playbook, is it possible to target a
>>>> different file other than main.yml? I ask because I'm struggling to find
>>>> the proper way to layout a playbook and role for my project.
>>>>
>>>> Currently I have roles created for common tasks like nginx, mysql,
>>>> varnish, etc. I also have a role created specifically for my project.
>>>> Inside that role I handle things like installing project specific things
>>>> like APC, memcache, etc. These are each handled by a separate file that is
>>>> included in the main.yml. I also have a file for deployment that is also
>>>> included in the main.yml. However, I don't really want to have code deploy
>>>> each time I provision a server.
>>>>
>>>> My thought was to create a deploy.yml file in the root and somehow
>>>> include the role for the project, but just the deploy portion.
>>>>
>>>> How are people handling this with their projects?
>>>>
>>>> --
>>>> 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/445571b4-e587-4216-83fe-
>>>> a8252d72c576%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/445571b4-e587-4216-83fe-a8252d72c576%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] <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/1d7937f5-42dd-40ef-962b-a7e40a828227%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/1d7937f5-42dd-40ef-962b-a7e40a828227%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/18483af3-c35b-41e7-8ab6-cb9e95aca455%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.