Синтаксис Jenkinsfile: фиксация хранилища Subversion SCM из рабочей области - PullRequest
0 голосов
/ 20 января 2020

Почему-то я не смог найти пример декларативного синтаксиса конвейера (Jenkinsfile) для этого случая.

Идея очень проста. В рабочей области конвейера Jenkins есть некоторый локальный файл, который был извлечен из репозитория Subversion SCM в начале стадии конвейера, он был извлечен из какой-то ветви.

Я изменил этот файл, и в конце этапа конвейера мне нужно зафиксировать этот файл обратно в репозиторий SCM.

Есть ли у кого-нибудь пример синтаксиса конвейера DSL Jenkins для такого коммита? Этот коммит должен иметь возможность перезаписать файл, доступный в ветке в репозитории SCM.

1 Ответ

0 голосов
/ 20 января 2020

Вы не хотите «переопределять» коммит, но хотите добавить еще один коммит, который обновит файл, верно? Действительно, полезно знать, откуда происходят изменения в вашем репозитории.

Для Subversion вы должны сделать что-то вроде

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId:'mycreds', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
  sh "svn commit --message 'jenkins update' --non-interactive --no-auth-cache --username $USERNAME --password $PASSWORD"
}

Примечание: mycreds будет идентификатором имени пользователя / пароля учетные данные, которые вы сохранили в jenkins

Наконец, когда вы делаете jenkins do commit, вы должны обсудить это с вашей командой, прежде чем внедрять его; может быть сложно поддерживать его, если не все сделано правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...