Ошибка в теге git pu sh из файла Jenkinsfile - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь добавить функцию "git pu sh tag" в конец моего CI, поэтому я буду отслеживать коммиты, которые прошли CI. Я знаю, что есть некоторые плагины, но они вели себя не так, как я пытался. Вот ошибка, которую я получаю для 'git pu sh' в консоли:

    [Pipeline] sh
DEBUG Print - git tag -a <generated-tag-name> -m 'CI-Passed'
DEBUG Print - git push origin <branch> <generated-tag-name>
error: src refspec <branch> does not match any.
error: failed to push some refs to 'https://github.com/<account>/<account>.git'
Error when executing success post condition:
hudson.AbortException: script returned exit code 1
    at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.handleExit(DurableTaskStep.java:569)
    at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.check(DurableTaskStep.java:515)
    at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.run(DurableTaskStep.java:461)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
[Pipeline] echo

Однако, когда я копирую команду git pu sh в консоль и вставляю ее sh успешно. Как Jenkins по-разному взаимодействует с командой git от моего рабочего стола?

Ответы [ 4 ]

1 голос
/ 19 апреля 2020

Это может быть вызвано другой настройкой параметра конфигурации push.default. (Выведите текущее значение с помощью git config push.default)

Попробуйте явно указать локальное и удаленное имя ссылки в вашей команде (что, в любом случае, рекомендуется в сценариях):

git push origin branch:branch tagname:tagname
0 голосов
/ 21 апреля 2020

Я попробовал другую команду pu sh, и она сработала, хотя я не до конца понимал разницу в выводах git между моим рабочим столом и Jenkins Master / Slave

    def FIXED_GIT_URL= GIT_URL.replace('https://','git@').replace('com/','com:')

    status = sh(script: """#!/bin/bash
            export REP_ROOT=`git rev-parse --show-toplevel`
            export Tag=${GitTag}
            export Git_url=${FIXED_GIT_URL}
            git tag -a \${Tag} -m \\'CI-Passed\\'               
            git push \${Git_url} \${Tag}
                    """)
0 голосов
/ 20 апреля 2020

Итак, чтобы ответить на этот вопрос, я предполагаю, что ваш код уже проверен на ветке, которую вы хотите пометить. Если в файлах есть какие-либо изменения, выполните команды в следующем порядке.

git add -A    // This command will stage all the files that have been changed. 
git commit -m "added changes" // This command wil commit the changes and will create a commit id you need to tag
git tag <tag name>
git push https://${GIT_AUTHOR_NAME}:${GIT_PASSWORD}@github.com<repository>.git <tag name>"
0 голосов
/ 19 апреля 2020

Спасибо за ответ, я пытался так и получил ошибку

Error when executing success post condition:hudson.AbortException: script returned exit code 1
at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.handleExit(DurableTaskStep.java:569)
at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.check(DurableTaskStep.java:515)
at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.run(DurableTaskStep.java:461)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
...