# Jenkins - Ansible integration

**URL:** <https://forum.ansible.com/t/jenkins-ansible-integration/28363>\
**Category:** Ansible Project\
**Tags:** rhel\
**Created:** [August 19, 2018, 10:46am UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363 "2018-08-19T10:46:58Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vamsi\_Krishna](https://avatars.discourse-cdn.com/v4/letter/v/a8b319/32.png) [@Vamsi\_Krishna](https://forum.ansible.com/u/Vamsi_Krishna)\
**Post date:** [August 19, 2018, 10:46am UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/1 "2018-08-19T10:46:58Z")

</div>

HI All,

I am newbie for both Ansible and Jenkins and I looking for step by step approach for running ansible playbook for Jenkins.

From Jenkins, I have installed Ansible plugin and in Global Tool Configuration I have set path as /usr/bin. I am trying to create free-style project by selecting project name --\>in build section → invoke ansible playbook → location of the script /home/ansible/script.yml. However, I am unable to run it.

Initially I have added my Jenkins and ansible to be same servers but after some googling, I have installed my ansible on slave node Jenkins. Jenkins and Slaves are installed in RHEL systems. My python version is 2.5. When I run playbook its getting executed as Jenkins user.

All I need is to run Jenkins job which will run ansible playbook. I am open to any approach if it fulfils my requirement

Thanks

Vamsi

---

<div class="post-metadata">

**Author:** ![Malcolm\_Hussain-Gamb](https://avatars.discourse-cdn.com/v4/letter/m/90db22/32.png) [@Malcolm\_Hussain-Gamb](https://forum.ansible.com/u/Malcolm_Hussain-Gamb)\
**Post date:** [August 19, 2018, 4:43pm UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/2 "2018-08-19T16:43:34Z")

</div>

It works fine. "Unable to run it" isn't really enough information;)

---

<div class="post-metadata">

**Author:** ![Vamsi\_Krishna](https://avatars.discourse-cdn.com/v4/letter/v/a8b319/32.png) [@Vamsi\_Krishna](https://forum.ansible.com/u/Vamsi_Krishna)\
**Post date:** [August 20, 2018, 5:29am UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/3 "2018-08-20T05:29:04Z")

</div>

HI Malcolm,

Below is the error I am facing. I have placed script in /home/ansible. I believe this job is running as Jenkins user. Please suggest

```auto
Building on master in workspace /var/lib/jenkins/workspace/Ansible_create_user
[Ansible_create_user] $ sshpass ******** /usr/bin/ansible-playbook /home/ansible/create_user.yml -s -U ansible -f 5 -u ansible -k
e[0;35m[DEPRECATION WARNING]: DEFAULT_SUDO_USER option, In favor of Ansible Become, e[0m
e[0;35mwhich is a generic framework. See become_user. , use become instead. This e[0m
e[0;35mfeature will be removed in version 2.8. Deprecation warnings can be disabled bye[0m
e[0;35m setting deprecation_warnings=False in ansible.cfg.e[0m
e[0;31mERROR! the playbook: /home/ansible/create_user.yml could not be founde[0m
FATAL: command execution failed
hudson.AbortException: Ansible playbook execution failed
	at org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder.perform(AnsiblePlaybookBuilder.java:262)
	at org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder.perform(AnsiblePlaybookBuilder.java:232)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
	at hudson.model.Build$BuildExecution.build(Build.java:206)
	at hudson.model.Build$BuildExecution.doRun(Build.java:163)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
	at hudson.model.Run.execute(Run.java:1815)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:429)
ERROR: Ansible playbook execution failed
Finished: FAILURE

```

---

<div class="post-metadata">

**Author:** ![vinod93pop](https://avatars.discourse-cdn.com/v4/letter/v/ea5d25/32.png) [@vinod93pop](https://forum.ansible.com/u/vinod93pop)\
**Post date:** [August 20, 2018, 5:36am UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/4 "2018-08-20T05:36:56Z")

</div>

Hi vamsi,  
Play book error says there is no create\_user.yml file is present in running directory . Check you are running from right directory .

---

<div class="post-metadata">

**Author:** ![Vamsi\_Krishna](https://avatars.discourse-cdn.com/v4/letter/v/a8b319/32.png) [@Vamsi\_Krishna](https://forum.ansible.com/u/Vamsi_Krishna)\
**Post date:** [August 20, 2018, 6:48am UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/5 "2018-08-20T06:48:56Z")

</div>

HI Vinod,

As informed in my previous post, i have already placed script in the same path

root@servername#ls -l /home/ansible/create\_user.yml  
-rwxrwxrwx 1 ansible ansible 384 Aug 17 10:01 /home/ansible/create\_user.yml

Regards  
Vamsi

---

<div class="post-metadata">

**Author:** ![j.r.hawkesworth](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@j.r.hawkesworth](https://forum.ansible.com/u/j.r.hawkesworth)\
**Post date:** [August 20, 2018, 12:22pm UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/6 "2018-08-20T12:22:25Z")

</div>

Jenkins usually operates on a ‘workspace’ which is different for each jenkins job.  
So in your case it would expect to find files in /var/lib/jenkins/workspace/Ansible\_create\_user  
not in /home/ansible/create\_user.yml

You might find another tool provides tighter integration with your playbooks than Jenkins does ( for example AWX, or Tower) so might be worth trying other things if you are just starting out with both ansible and jenkins.

Jon

---

<div class="post-metadata">

**Author:** ![Malcolm\_Hussain-Gamb](https://avatars.discourse-cdn.com/v4/letter/m/90db22/32.png) [@Malcolm\_Hussain-Gamb](https://forum.ansible.com/u/Malcolm_Hussain-Gamb)\
**Post date:** [August 20, 2018, 6:34pm UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/7 "2018-08-20T18:34:32Z")

</div>

If you are using Jenkins & ansible it's better to store the playbooks/roles/inventories in git and use Jenkins to check it out. Makes developing easier imho

---

<div class="post-metadata">

**Author:** ![Vamsi\_Krishna](https://avatars.discourse-cdn.com/v4/letter/v/a8b319/32.png) [@Vamsi\_Krishna](https://forum.ansible.com/u/Vamsi_Krishna)\
**Post date:** [August 22, 2018, 3:57am UTC](https://forum.ansible.com/t/jenkins-ansible-integration/28363/8 "2018-08-22T03:57:33Z")

</div>

HI All,

Thanks for your suggestion.

I am able to resolve this issue. I have installed publish over ssh plugin from which I am able to run ansible playbook directly

PS:- My Jenkins and Ansible are on same server

Regards  
Vamsi
