Привет, ребята,
Сегодня я хочу поделиться уникальным использованием случая удаления удаленной команды GIT Branch с трубопроводом Jenkins. Все, что работа — это провести работу в филиал, объединить ее с мастером и захотеть удалить, как только все будет сделано.
Он просто фиксирован с помощью набора команды из команды из командной линии
git cakeout branch git commit git push
GIT Checkout Master Git Merge Branch GIT Push Git Branch -Д -ветвь//локальная ветвь Удалить GIT Push Origin -delete Branch
Это просто, если вы делаете это с вашего Dev Machine, но не так, когда Jenkins Pipeline работал в облаке с некоторым облачным провайдером.
Одно из ключевых вещей, которые следует отметить, — это то, что GIT не является защищенным протоколом, и вы не можете напрямую общаться с ним, потому что правило облачных провайдеров будет белым списком команды Delete, потому что оно может видеть контент.
Таким образом, мы должны использовать HTTPS для общения с Remote Git Repo.
Я изменил такую команду
withcredentials ([[$ class: ‘usernamepasswordmultibinding’, credentialsid: ‘my-git-credential-id’, usernamevariable: ‘git_username’, passwordVariable: ‘git_password’]]) {sh ‘git push origin-delete branch’}
Учитывая, что это пройдет, но эта команда продолжает подвешивать без каких -либо подсказок.
Теперь вторая попытка состояла в том, чтобы изменить его, как это обход белого списка, провайдера облака.
withCredentials ([[[$ class: ‘usernamepasswordmultibinding’, credentialsid: ‘my-git-credential-id’, usernamevariable: ‘git_username’, passwordvariable: ‘git_password’]]) {sh ‘git push oigin-delete https:///$ {Git_username}: $ {git_password}@$ {git_url_without_https} ‘}
Но все же это не работает, со всеми мыслями, которые возникают из -за того, почему это не работает.
Наконец, наступает момент Эврики, когда я просто менял порядок команд, как и в случае с URL HTTPS в командных флагах GIT, последним, кто положит конец команде, предшествующим им аргументации.
withcredentials ([[[$ class: ‘usernamepasswordmultibinding’, credentialsid: ‘my-git-credential-id’, usernamevariable: ‘git_username’, passwordVariable: ‘git_password’]]) {sh ‘git push https://$ {git_usserm: $ {Git_password}@$ {git_url_without_https} ‘branch -delete}
Оригинал: «https://dev.to/developerhelp/curious-case-of-git-delete-with-jenkins-pipeline-13a»