簡體   English   中英

如何在詹金斯執行Ansible劇本

[英]How to execute ansible playbook in Jenkins

我想用詹金斯玩一本劇本。 我在Windows 10計算機上安裝了Docker。 通過Docker,我帶來了一個本地的Jenkins,並在其中安裝了GIT和Ansible插件。

現在,如果觸發了Jenkins作業,我的劇本將從GIT下載到我的Jenkins工作區。 從我的工作區,我試圖運行劇本。 當我觸發構建作業時,我從GIT簽出后面臨如下問題:

[MyFirstJob] $ sshpass ******** /usr/bin/ansible-playbook /usr/bin -l "${group} /hostname" -f 5 -u dinesh -k
FATAL: command execution failed
java.io.IOException: Cannot run program "sshpass" (in directory "/var/jenkins_home/workspace/MyFirstJob"): error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at hudson.Proc$LocalProc.<init>(Proc.java:249)
    at hudson.Proc$LocalProc.<init>(Proc.java:218)

我的本地計算機上未安裝Ansible。 我需要在本地安裝它嗎? 或任何其他步驟來通過我的本地Jenkins運行我的ansible手冊。 任何幫助,將不勝感激。 謝謝!

為了解釋您所看到的主要錯誤,聽起來您好像沒有在Jenkins運行所在的sshpass安裝sshpass程序。

我之所以說“ Jenkins在哪里運行”,是因為您似乎將容器在運行的執行空間與本地系統在docker運行的執行空間混為一談。

是的,您將需要安裝ansible,但需要將其安裝在運行Jenkins的容器內。 如果Jenkins在容器中運行,它將無法訪問在本地系統上運行的任何程序。 您可以共享文件系統和某些進程,但實際上,容器需要安裝Jenkins, sshpass sshpass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM