Как периодически запускать сборку в конвейере с различными переменными среды в jenkinsfile? - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть один конвейер, который запускает тест для приложения с заданной c переменной среды и запускается в указанное время c.

Я хочу использовать один и тот же конвейер для периодического выполнения. в разное время, но каждая сборка имеет свою переменную среды.

Вот пример моего jenkinsfile, который запускается только для определенного набора сред, доступных в определенный момент времени

pipeline {
  environment {
    mvnHome = tool name: 'myMvn', type: 'maven'
    mvnCMD = "${mvnHome}/bin/mvn"
    APP_NAME = 'test'
    APP_PACKAGE = 'test1'
    APP_ACTIVITY = 'test2'
  }

  agent {
    node {
      label 'master'
    }
  }

  triggers {
           cron('15 20 * * *')
  }

  stages {
    stage('SCM Checkout') {
      steps {
        git(branch: 'APP', url: 'https://gitlab.test.ba/amrka/framework.git', poll: true, credentialsId: 'GitlabCred')
      }
    }

    stage('Testing') {
    steps {
      catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
        sh(label: 'Test Process', script: "${mvnCMD} test")
        }
      }
    }


  }


}

1 Ответ

0 голосов
/ 09 апреля 2020

Вы можете использовать плагин параметризованного планировщика . В панели управления Jenkins перейдите на
Manage Jenkins -> Manage Plugins -> Parameterized Scheduler.

Чтобы запланировать работу в разное время, когда необходимо использовать разные среды, вы должны использовать плагин планировщика с параметрами.

Parameter1

H/20 * * * * %Parameter1 где Parameter1 является вашей переменной среды в течение определенного c времени, которое вы хотите.

Параметр2

H/30 * * * * %Parameter2, где Parameter2 - это ваша другая переменная среды в течение определенного c времени, которое вы хотите.

Параметры должны быть настроены уже для работы плагина параметризованного планировщика. Может использоваться только для заданий с параметрами. Помните, что ваши параметры уже должны быть настроены, потому что плагин виден только для заданий с параметрами. См. Дополнительную документацию, включая примеры использования, в README .

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