Ansible Playbook在通过Jenkins执行时失败:/usr/bin/env:'python3':没有这样的文件或目录

2024-05-17 07:34:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有人遇到过这样的问题:

在Ubuntu机器上手动执行Ansible playbook时,一切正常。 当通过Jenkins管道(在Windows上配置Jenkins master,在Ubuntu上配置代理,在Ubuntu代理上执行相关步骤)以以下方式执行相同的剧本时:

            stage ('Calling Ansible') {
                agent {
                    label 'ubuntu'
                }
                steps {
                    script {
                        ansiblePlaybook( 
                            playbook: '/home/jenkins/ansibleJenkins/test.yml'
                        )
                    }
                }
            }

我得到以下错误:

[lculator-jenkinsfile-test_master] $ ansible-playbook /home/jenkins/ansibleJenkins/test.yml
/usr/bin/env: ‘python3’: No such file or directory
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.workflow.AnsiblePlaybookStep$AnsiblePlaybookExecution.run(AnsiblePlaybookStep.java:400)
    at org.jenkinsci.plugins.ansible.workflow.AnsiblePlaybookStep$AnsiblePlaybookExecution.run(AnsiblePlaybookStep.java:321)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
    at hudson.security.ACL.impersonate(ACL.java:367)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

请注意,当手动检查Ubuntu时,当我执行:$ /usr/bin/env python3 --version时,我得到:Python 3.8.2作为回报

尝试将ansible_python_interpreter=/usr/bin/env python3作为Jenkinsfile中的外部变量传递,但没有帮助

有什么帮助吗


Tags: runorgsourceubuntuutilpluginsjavaansible
1条回答
网友
1楼 · 发布于 2024-05-17 07:34:14

基于另一个主题上的this answer,结果是由于在Jenkins master中配置了“全局路径”&>;配置系统->;全局属性,具有与Windows相关的路径。它阻止Linux代理使用自己的路径

移除它解决了问题

相关问题 更多 >