0

我正在尝试将声明性管道从编写在 Jenkins 管道配置输入框中移动到托管在 BitBucket 中的代码,以便我们对我们对此管道所做的任何更改进行源代码控制。

由于管道作为代码步骤被编写在 git 存储库中的 Jenkinsfile 中,当我尝试初始化 git 存储库以将生成的文件添加到其中时,出现错误:

+ git remote add origin git@bitbucket.org:X/Y.git
fatal: remote origin already exists.

有什么办法可以正确处理吗?

编辑:

            sh "git init"
            sh "git add ."
            sh "git commit -m \"Initial commit\""
            sh "git remote rm origin"
            sh "git remote add origin git@bitbucket.org:X/Y.git"
            sh "git remote -v"
            sh "git push origin master"
            sh "cat .git/config"
4

2 回答 2

0

所以错误表明已经有一个同名的遥控器。明智地你不能添加两次。几个选项:

  1. 更新远程网址:
git remote set-url origin git@bitbucket.org:X/Y.git
  1. 删除并重新添加原点
git remote rm origin
git remote add origin git@bitbucket.org:X/Y.git

编辑

似乎是以下内容的副本: Github“致命:远程来源已经存在”

于 2019-10-23T15:57:08.653 回答
0

目前尚不清楚您要通过 git repo 的 init 实现什么。每次运行作业时,都会初始化并推送存储库。这很难做到不止一次。

Jenkins 知道如何运行存储在 repo 中的 Jenkinsfile。您需要手动创建您的存储库,在那里提交 Jenkinsfile,然后在 Jenkins 中添加一个新作业,告诉它应该从存储库中引入 Jenkinsfile。这称为“来自 SCM 的管道脚本”。然后,您应该在 Jenkins 中配置凭据、路径、分支等。每次您运行作业时,Jenkins 都会从 repo 中检查您的 Jenkinsfile,然后运行它。

于 2019-10-25T17:57:02.980 回答