gpt4 book ai didi

git - 从 Jenkins 推送到 GitHub 存储库时出错 - 无法使用 Git Publisher

转载 作者:太空狗 更新时间:2023-10-29 13:34:38 25 4
gpt4 key购买 nike

我正在尝试使用

从 Jenkins 推送到 GitHub 存储库
git remote set-url origin git@github.com:$reponame.git
git checkout $branch
git add file
git commit -m "Add file"
git push origin $branch

但是我得到了错误:

ssh: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
ssh: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
Host key verification failed.

我看到的所有解决此问题的答案都推荐使用 Git Publisher Post Build Step。我无法使用 Git Publisher,因为我定义了多个由 $reponame 变量定义的 SCM。

我试着查看 git show-ref 的输出,它显示了属于 GitHub 存储库的分支列表。

我不确定如何解决上述错误,非常感谢对此问题的任何帮助。

更新:我已经能够成功推送,但是更改没有反射(reflect)在 GitHub 分支上。当我检查 GitHub 时,提交未添加到分支。当我再次运行该作业时,推送返回“一切都是最新的”,这意味着它推送到的分支已经有了这些更改。
这个Git push要推送到哪里呢?为什么更改没有反射(reflect)在远程 GitHub 分支上?

最佳答案

我会使用 Jenkins pipelinesMultibranch这允许你在不使用 GitHub Publisher 插件的情况下推送你的 repo。你必须创建一个 Jenkinsfile在您的仓库中并按照文档创建作业。然后你必须选择:

  1. 您正在执行的 SSH:

        stage('Preparation') {
    // Get some code from the branch sending the webhook in GitHub
    git 'your git repo'
    }

    stage('Build') {
    // Do some stuff here
    }

    stage('Push') {
    // Commit and push with ssh credentials
    sshagent (credentials: ['your credentials']) {
    sh "git commit -am 'Commit message'"
    sh 'git push origin HEAD:<yourbranch>'
    }
    }
  2. HTTPS 作为另一个响应建议:

        stage('Preparation') {
    // Get some code from the branch sending the webhook in GitHub
    git 'your https repo'
    }

    stage('Build') {
    // Do some stuff here
    }

    stage('Push') {
    // Commit and push with ssh credentials
    withCredentials(
    [string(credentialsId: 'git-email', variable: 'GIT_COMMITTER_EMAIL'),
    string(credentialsId: 'git-account', variable: 'GIT_COMMITTER_ACCOUNT'),
    string(credentialsId: 'git-name', variable: 'GIT_COMMITTER_NAME'),
    string(credentialsId: 'github-token', variable: 'GITHUB_API_TOKEN')]) {
    // Configure the user
    sh 'git config user.email "${GIT_COMMITTER_EMAIL}"'
    sh 'git config user.name "${GIT_COMMITTER_NAME}"'
    sh "git remote rm origin"
    sh "git remote add origin https://${GIT_COMMITTER_ACCOUNT}:${GITHUB_API_TOKEN}@yourrepo.git > /dev/null 2>&1"
    sh "git commit -am 'Commit message'"
    sh 'git push origin HEAD:<yourbranch>'
    }
    }

关于git - 从 Jenkins 推送到 GitHub 存储库时出错 - 无法使用 Git Publisher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55160498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com