Отображение этапов в загруженном скриптовом конвейере - PullRequest
0 голосов
/ 14 января 2019

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

generic.jenkinsfile:

node {
  stage('Initial') {
      echo 'Checking for new RRs and creating build sandbox'
  }

  stage('Calling specific') {
      def jen = load "../specific.jenkinsfile"
  }

  stage('Cleanup') {
      echo 'running cleanup'
  }
}

specific.jenkinsfile:

node() {
  stage('Build') {
      echo 'Build ...'          
  }
  stage('Flash ') {
      echo 'Flash ...'          
  }
  stage('Test  ') {    
      echo 'Test  ...'    
  }
}

Шаги на этапах в файле spec.jenkins действительно выполняются и распечатывают шаги. Проблема в том, что этапы в определенном Jenkinsfile не отображаются как отдельные этапы на странице обзора сборки в веб-интерфейсе BlueOcean. Вместо этого Вызов накапливает все шаги после возврата шага load. (Пока load работает, все ступени «развертываются» рядом.) Это не происходит в классическом интерфейсе. Может быть, это дизайнерское решение?

View on BlueOcean View on classic

Как мне сделать так, чтобы все они были развернуты в BlueOcean, как на классическом сайте?

1 Ответ

0 голосов
/ 13 марта 2019

Решение оказалось проще, чем я ожидал.

Я удалил stage('Calling specific') {} из шага load и node {} из файла specific.jenkins. Теперь визуализация ведет себя как нужно.

# scripted pipeline
node {
  stage('Initial') {
    echo 'Checking for new RRs and creating build sandbox'
  }

  def jen = load "../specific.jenkinsfile"

  stage('Cleanup') {
    echo 'running cleanup'
  }
}
...