首页 > 解决方案 > Jenkinsfile 中没有这样的用户 git commit 错误

问题描述

我正在尝试在node:10 Docker 容器中运行npm 版本作为 Jenkinsfile 的一部分,并且收到以下错误。

npm ERR! fatal: unable to look up current user in the passwd file: no such user

有没有办法让 git 以另一种方式寻找用户?

标签: gitjenkins-pipeline

解决方案


如果没有测试,我不能保证这一点,但它应该会引导你朝着正确的方向前进:

Jenkins 在没有用户的情况下启动 docker 容器(使用 UID 和 GID),因此您可以使用 root 启动它(或者在 Dockerfile 中添加一个更好的新用户):

agent {
    docker {
        image 'node:10'
        args  '--user root'
    }
}

另一种选择是您可以设置这些环境变量:

export GIT_COMMITTER_NAME=’user_name’
export GIT_COMMITTER_EMAIL=’user_email’

您可以将这些添加为 Jenkinsfile 或 Dockerfile 的一部分


推荐阅读