Плагин Jenkins Git и Refspecs

В чем разница между Refspec и спецификатором Branch (по умолчанию пусто): в приведенной ниже конфигурации задания Jenkins:

Я попытался установить опцию Refspec в конфигурации задания:

+refs/heads/master:refs/remotes/origin/master

В клонированном репозитории моего ведомого билда файл.git/config выглядит так:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://user:pass@git.internal.com/scm/PROJECT/project.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

Кажется, что значение для fetch не является правильным (считайте из конфигурации задания jenkins). Кроме того, это не влияет на потребление дискового пространства.

1 ответ

Решение

Refspec определяет параметры для операции выборки (см. Здесь и здесь), тогда как спецификатор ветви определяет, какая ветвь содержит код, который будет построен Jenkins. Другими словами: Refspec определяет только то, как код извлекается, в то время как спецификатор ветви, какая часть кода будет компилироваться.

[Edit:] Исправлена ​​неработающая ссылка на refspec

Другие вопросы по тегам