如何在管道内部创建git存储库作为代码

时间:2019-10-23 15:27:55

标签: git jenkins jenkins-pipeline pipeline git-init

我正在尝试将声明式管道从在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"

2 个答案:

答案 0 :(得分:0)

因此错误指出已经存在一个具有相同名称的遥控器。明智的是,您不能两次添加。几个选项:

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

编辑

似乎与以下内容重复: Github "fatal: remote origin already exists"

答案 1 :(得分:0)

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

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