一尘不染

git push在Jenkins上偶尔失败,并显示“设备未配置”错误

jenkins

在构建之前,我们使用Jenkins git插件克隆带有凭据的git repo。

在构建结束时,如果成功,我们执行git push:

BRANCH_TO_PUSH=${GIT_BRANCH/origin\//}
git push origin HEAD:refs/heads/${BRANCH_TO_PUSH}

有时 ,推送失败并显示以下输出:

fatal: could not read Username for 'https://git.example.net': Device not configured

如何解决这个问题?


阅读 387

收藏
2020-07-25

共1个答案

一尘不染

当将回购配置为通过HTTPS克隆时,就会发生此问题。如果它只是偶尔发生,则意味着git被配置为使用凭据帮助程序在克隆时存储凭据。

但是,默认情况下,缓存设置为900秒(15分钟)。如果您的构建花费的时间更长,则推送将失败。

要将缓存TTL提高到60分钟,请在您的Jenkins机器上运行此命令:

sudo su - jenkins
git config --global credential.helper 'cache --timeout=3600'
2020-07-25