Использование Jenkins для запуска SonarQube в любом проекте и выборе ветки (ов)

#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

Комментарии:

1. спасибо за ответ! Знаете ли вы динамический способ сделать это, когда, если бы мы добавили новые ветки, они автоматически заполнили бы выпадающий список?

2. вы можете сделать это с помощью массива и циклов, но это потребует слишком много работы. Мое предложение заключается в том, что вам даже не нужен выпадающий список. Вы можете задать это в качестве параметра regulat. Таким образом, в основном, когда вы вводите название ветки (предполагая, что вы знаете ветку, которую пытаетесь создать), она проверяет эту ветку. это просто

3. Это тоже сработало бы! Я хотел постоянного обновления и очистки. Спасибо за предложения @mbn217!!

4. Если решение оказалось полезным, подумайте о том, чтобы отметить ответ как полезный, нажав на кнопку «^», чтобы другие могли его увидеть. Спасибо