【问题标题】:Jenkins pipeline fails to run a remote script on a Jenkins nodeJenkins 管道无法在 Jenkins 节点上运行远程脚本
【发布时间】:2023-03-20 09:40:01
【问题描述】:

我正在尝试运行以下清理脚本,但它在特定 Jenkins 节点上一直失败:

def BUILDERS = [:].asSynchronized()
def NODE_NAMES = [
    'cleanuptooldean', //test
    ]

node('master') {
    stage('Prepare the Pipeline') {
        // get deploy pattern from params 
        for (NODE_NAME in NODE_NAMES) {
            // Groovy closures stuff, need to copy it over
            def FINAL_NODE_NAME = NODE_NAME
            BUILDERS[FINAL_NODE_NAME] = {
                node(FINAL_NODE_NAME) {
                    timeout(time:5, unit: "MINUTES") {
                        echo "Started Cleaning process of unused docker images from Jenkins Instance, Agent: "+env.NODE_NAME
                        sh "docker system prune -a --volumes -f"
                        echo "Cleaning up space from unused packages (orphaned dependencies), remove old kernels in Ubuntu, Agent: "+env.NODE_NAME
                        sh "sudo apt-get -y autoremove --purge"
                        echo "clean the apt cache on Ubuntu "+ env.NODE_NAME 
                        sh "sudo apt-get -y clean"
                        echo "Finished Cleaning process of unused docker images from Jenkins Instance, Agent: "+env.NODE_NAME
                    }
                }
            }
        }
    }
}

如果我在 "apt-get -y autoremove --purge""apt-get -y clean" 开头键入“Sudo”会出现错误> is: "sudo: no tty present and no askpass program specified" 不用说我已经编辑了 sudoers 文件并添加了 "jenkins ALL=(ALL) NOPASSWD: ALL" strong> 以便在文件末尾对其进行测试。 如果我删除“Sudo”命令,我得到的错误是:“dial unix /var/run/docker.sock: connect: permission denied” 我试图通过添加“Jenkins”用户来解决到“docker”组。

** 我必须说,当我在本地运行命令时,无论是否使用“Sudo”,它们都适用于“Jenkins”用户,但是当我尝试使用管道从 Jenkins 远程执行时,它会失败。

***此特定脚本在其他节点上完美运行

提前致谢

【问题讨论】:

    标签: docker ubuntu jenkins jenkins-pipeline pipeline


    【解决方案1】:

    显然每个节点使用不同的用户,所以我不得不将所有用户添加到 docker 的组中,并将它们添加到 visudo 文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多