【问题标题】:git push not working from jenkins dockergit push 不能从詹金斯码头工作
【发布时间】:2017-11-22 19:35:11
【问题描述】:

我正在运行 Jenkins docker 映像并尝试通过 GitHub 执行 git push。
我在 PostSteps(Execute Shell) 和 PostBuild Actions 中使用 Git Publisher 进行了 git commit。
我需要在 Jenkins 中提供一些特定的身份验证吗?
我无法弄清楚。
提前非常感谢。

错误:

无法将分支 master 推送到 origin hudson.plugins.git.GitException:命令“git push HEAD:master -f”返回状态码 128: 标准输出: 标准错误:远程:用户名或密码无效。 致命:“”的身份验证失败 在 org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1903)

【问题讨论】:

    标签: git docker jenkins


    【解决方案1】:

    启用两因素身份验证 (2FA) 后,您在尝试使用 git clonegit fetchgit pullgit push 时可能会看到类似的内容:

    $ git push origin master
    Username for 'https://github.com': your_user_name
    Password for 'https://your_user_name@github.com': 
    remote: Invalid username or password.
    fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'
    

    原因?

    来自GitHub Help documentation

    启用 2FA 后,您需要输入个人访问令牌,而不是 2FA 代码和您的 GitHub 密码。

    例如,当您使用带有 HTTPS URL 的 git clonegit fetchgit pullgit push 等命令在命令行上使用 Git 访问存储库时,您必须提供您的 GitHub 用户名和您的个人访问令牌当提示输入用户名和密码时。命令行提示在询问您的密码时不会指定您应该输入您的个人访问令牌。

    解决办法:

    1. 生成Personal Access Token。 (Creating a personal access token for the command line 上的详细指南。)
    2. 复制个人访问令牌。
    3. 重新尝试您尝试的命令并使用个人访问令牌代替您的密码。

    相关问题: https://stackoverflow.com/a/21374369/101662

    【讨论】:

      猜你喜欢
      • 2019-10-19
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      相关资源
      最近更新 更多