#jenkins #sonarqube
#дженкинс #sonarqube
Вопрос:
Я работаю над созданием единого задания Jenkins, которое позволяет вам выбрать проект GitHub, а затем выбрать ветку, в которой вы хотели бы запускать тесты SonarQube.
До сих пор мне удавалось создать задание, которое выполняется ТОЛЬКО с основной сборкой каждого проекта.
Есть ли у кого-нибудь опыт создания чего-либо подобного?
Спасибо!
Ответ №1:
Вам необходимо параметризовать свою сборку. Вам нужно будет указать gitproject и gitBranch в качестве параметров, это заставит вас выбрать проект, который вы хотите запустить, и выбрать ветку тоже. Вот пример
pipeline {
agent {
node {
label any
}
}
parameters {
choice(
name: 'PLATFORM',
choices:"TestnArt19-Data-PipelinenBrightcove-ReportnBrightcove-VideonData-DeliverynGlobal_Facebook_Engagement_ScorenGoogle-Analytics-Data-PipelinenInstagram-Data-PipelinenTwitter-AnalyticsnTwitter-Data-PipelinenYoutube-Data",
description: "Choose the lambda function to deploy or rollback")
choice(
name: 'STAGE',
choices:"devnstag",
description: "Choose the lambda function to deploy or rollback")
}
stages {
stage("Git CheckOut") {
steps {
//CheckOut from the repository
//git credentialsId: 'svc.gitlab',branch:'master', url: 'git@git.yourProjectURL/yourProjectName.git'
echo " Parameters are ${PLATFORM}"
echo " STAGE IS ${STAGE}"
}
}
}
}
Все, что вам нужно, это заменить ‘master’ параметром a и ‘YourProjectName’ другим параметром вместо того, который я использовал в качестве примера
Комментарии:
1. спасибо за ответ! Знаете ли вы динамический способ сделать это, когда, если бы мы добавили новые ветки, они автоматически заполнили бы выпадающий список?
2. вы можете сделать это с помощью массива и циклов, но это потребует слишком много работы. Мое предложение заключается в том, что вам даже не нужен выпадающий список. Вы можете задать это в качестве параметра regulat. Таким образом, в основном, когда вы вводите название ветки (предполагая, что вы знаете ветку, которую пытаетесь создать), она проверяет эту ветку. это просто
3. Это тоже сработало бы! Я хотел постоянного обновления и очистки. Спасибо за предложения @mbn217!!
4. Если решение оказалось полезным, подумайте о том, чтобы отметить ответ как полезный, нажав на кнопку «^», чтобы другие могли его увидеть. Спасибо