angle-left

Шаблон Jenkins Declarative Pipeline для Spring Boot

Доброе утро!

Данная маленькая заметка содержит шаблон Declarative Pipeline для CI Jenkins, который можно использовать в приложениях на Spring Boot и легко адаптировать под прочие подобные случаи.

Предусловия: есть Jenkins, интегрированный с Gitlab CE, приложение на Spring Boot, сборочная система Maven.

Необходимо написать Jenkinsfile, который позволит Jenkins'у собирать, тестировать, уведомлять о результатах Gitlab и автора коммита.

В результате получился такой шаблон:

pipeline {
  agent any
  environment{
    JAVA_HOME = '/usr/lib/jvm/java-11-openjdk-amd64/'
  }

  stages {
    stage('Build') {
      steps {
        gitlabCommitStatus(name: 'Build') {
          sh 'mvn -B -DskipTests clean package'
        }
      }
    }

    stage('Test') {
      steps {
        gitlabCommitStatus(name: 'Test') {
          sh 'mvn test'
        }
      }
      post {
        always {
          junit 'target/surefire-reports/*.xml'
        }
      }
    }

    stage('Deploy') {
      when {
        expression {
          return "$GIT_BRANCH" == "origin/master"
        }
      }
      steps {
        gitlabCommitStatus(name: 'Deploy') {
          sh "sb-deploy.pl deploy/config.ph"
        }
      }
    }

  }

  post {
    always {
      emailext(body: '$DEFAULT_CONTENT',
        recipientProviders: [[$class: 'DevelopersRecipientProvider'],
          [$class: 'RequesterRecipientProvider']],
        subject: '$DEFAULT_SUBJECT')
    }
  }
}

sb-deploy.pl — скрипт, установленный на хосте с Jenkins, умеющий деплоить приложения на наши виртуальные машины. gitlabCommitStatus позволяет писать результаты стадии в Gitlab. emailext отправит результаты автору коммита, если в Jenkins заданы корректные настройки SMTP.

Если кому-то пригодится — хорошо, нет — ну и ладно, сам не потеряю.

Вперед

Работаю в компании Tune-IT, разрабатываю софт. Могу писать на perl. Могу не писать. Могу клаву так заныкать, что фиг найдёшь.

Что умеет ваш портал?

Наш портал уже "из коробки" умеет очень многое. Сразу же после установки вы сможете использовать следующие компоненты:

Справочник сотрудников

Удобный агрегатор контактной информации, адресов и телефонов всех сотрудников компании.

Интеграция с IP-телефонией

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

Встроенный клиент Webmail

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

Вики-справочник

Централизованное хранилище для всей информации, необходимой сотрудникам для решения их повседневных задач.

Интеграция с сервером печати

Печать и сканирование документов через прямо веб-интерфейс портала - без необходимости установки драйверов принтера на компьютеры сотрудников.

Файловое хранилище

В портал встроено файловое хранилище с поддержкой версионирования файлов. Каждый пользователь имеет свой домашний каталог, доступный как через веб-интерфейс, так и через проводник Windows.

Мультимедиа-возможности

Встроенные фото- и видеогалерея позволяют просматривать фотографии и видео прямо на портале.

Социальные коммуникации

В портал встроена полноценная корпоративная социальная сеть. Сотрудники могут обмениваться сообщениями, файлами и общаться в форуме.

Кроме того, вы можете воспользоваться любым из сотен плагинов, доступных на Liferay Marketplace.

Сколько это будет стоить?

Как уже было сказано выше, вы можете использовать наш интранет-портал абсолютно бесплатно и без каких-либо ограничений на количество пользователей или параллельно запущенных сессий. Единственное, чего вы не получите в бесплатной лицензии - это техническая поддержка.

Существует несколько уровней технической поддержки, отличающихся друг от друга SLA и стоимостью.

  Free Basic 24x7
Количество пользователей
Количество сессий
Email hotline нет есть есть
Phone hotline нет нет есть
Обращений в месяц - 10
Режим технической поддержки - 8x5 24x7
Стоимость Бесплатно 20 000 /месяц 100 000 /месяц

 

OK, мне всё это нравится. Где я могу скачать ваш портал?

В настоящий момент портал находится в стадии бета-тестирования. Когда мы закончим, ссылка на скачивание и инструкция по установке появятся вот здесь

Если вы заинтересовались решением, или хотите поучаствовать в бета-тестировании - пожалуйста, напишите нам!