Рубрики
Uncategorized

Настройка непрерывная интеграция/система доставки всего за 4 шага с трубопроводами Дженкинса и Голубым океаном

Учебное пособие о том, как вы можете настроить прохладную непрерывную интеграцию /систему доставки, используя трубопроводы Jenkins. Мы покрываем 4 начальных шага, чтобы поднять ваш первый трубопровод. Tagged с непрерывной передачей, Jenkinspipelines, Blueocean, CICD.

Теперь, когда первая стабильная версия Плагин синего океана Был выпущен, проще и прохладнее, чем когда -либо, настроить вашу непрерывную интеграцию/доставку с Jenkins. Дженкинс Также развивался довольно много в последние годы, облегчая настройку вашего сервера автоматизации и строит всего за пару шагов.

Прежде всего, давайте проясним некоторые из концепций, которые мы будем использовать в этом учебнике:

Многообразные трубопроводы : Трубопроводы, и особенно многогранные трубопроводы, меняют правила игры в Дженкинсе. Благодаря этому плагину вы можете просто настроить свой URL -адрес репозитория, и Дженкинс идентифицирует все ваши филиалы. Он также автоматически запустит новые сборки, как только будут выдвинуты новые коммиты, поэтому больше не требуется веб -крючков или громоздкой конфигурации.

Jenkinsfile : Вместе с трубопроводами новая концепция Jenkinsfile был представлен. Это файл, который вы создаете в своем репо, который содержит конфигурацию вашей конвейера. Затем Дженкинс будет искать этот файл в ваших филиалах и выполнить сборку в соответствии с определенными этапами, определенными там. Это делает возможным создание конфигурации трубопровода вместе с вашим проектом и под управлением версий.

Голубой океан : Этот плагин должен для всех, кто использует трубопроводы Jenkins. Blue Ocean Это плагин OpenSource, который переосмысливает пользовательский опыт Jenkins. Самая удивительная особенность — красивый пользовательский интерфейс трубопроводов, позволяющий быстро и интуитивно понятно понять статус сборки. Если ужасный пользовательский опыт Дженкинса удерживал вас от использования его, для этого нет больше причин.

Итак, теперь, когда эти понятия ясны, давайте посмотрим, как мы можем поднять нашу среду непрерывной доставки всего за 4 шага:

1. Установка Дженкинса:

Вы можете выполнить шаги установки для вашего Операционные системы или Docker В официальных документах:

Для этого поста, давайте предположим, что вы используете Ubuntu . Вы можете войти в свою систему в качестве Sudo и выполнить следующие команды:

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

Это автоматически создает пользователя Jenkins и Daemon, который слушает на порту 8080. Это означает, что ваша система Jenkins теперь доступна на http://: 8080 . Если вы тестируете это на местном уровне, это было бы http://127.0.0.1:8080

Если вы не знаете свой сервер публичный IP, вы можете выполнить ifconfig Чтобы получить эту информацию.

Откройте URL и следуйте Мастер установки Анкет Здесь мы рекомендуем вам выбрать опцию по умолчанию для установки предложенных плагинов.

2. Установите плагины

  • Перейти к Управление Jenkins> Управление плагинами> Доступно и фильтр по Голубой океан Анкет
  • Выберите и установите
  • Если вы используете Bitbucket Для вашего репозитория вы также должны установить Плагин источника ветви Bitbucket

3. Jenkinsfile

  • В корне репозитория вашего проекта создайте новый файл с именем Jenkinsfile Анкет Этот файл записан в Groovy и определит свой Стадии трубопровода конфигурация. Для этого урока просто скопируйте следующий фиктивный пример и вставьте его в Jenkinsfile Только что создано.
  • Сохраните, совершайте и нажмите.
node {
    // Clean workspace before doing anything
    deleteDir()

    try {
        stage ('Clone') {
            checkout scm
        }
        stage ('Build') {
            sh "echo 'shell scripts to build project...'"
        }
        stage ('Tests') {
            parallel 'static': {
                sh "echo 'shell scripts to run static tests...'"
            },
            'unit': {
                sh "echo 'shell scripts to run unit tests...'"
            },
            'integration': {
                sh "echo 'shell scripts to run integration tests...'"
            }
        }
        stage ('Deploy') {
            sh "echo 'shell scripts to deploy to server...'"
        }
    } catch (err) {
        currentBuild.result = 'FAILED'
        throw err
    }
}

4. Установка многогранного трубопровода

  • Перейдите на домашнюю страницу Jenkins и нажмите на новый элемент Анкет Дайте имя своей работе и выберите Многовозможный трубопровод Анкет

    • Если вы используете Битбакет , вы должны выбрать Bitbucket Team/Project опция вместо этого.
  • После этого нам нужно настроить URL -адрес репозитория и учетные данные. Вы можете увидеть примеры этого на следующих скриншотах в зависимости от вашей системы управления источником (Bitbucket, Github, Git):

    • Очень важно, чтобы вы выбирали Jenkinsfile как режим конфигурации сборки.
  • Нажмите Сохранить. Вы заметите, что Дженкинс начинает сканировать ваше репо в поисках всех ваших филиалов. На самом деле, что делает Дженкинс, это искать Jenkinsfiles Внутри ваших ветвей.

  • Нажмите на заголовок Голубой океан кнопка.

  • и вуаля ! Вы только что настраиваете систему непрерывной доставки, которая автоматически сканирует, строит и развернете все ваши филиалы в вашем репозитории.

  • Теперь нажмите на Голубой океан Трубопроводные ветви, чтобы увидеть, как это здорово.

Как вы могли заметить, наш Jenkinsfile просто определяет этапы и печать некоторых Эхо Анкет Идея в том, что вы замените эти Эхо с вашими настоящими сценариями. Вы можете увидеть реальный пример того, что мы делаем для наших сборки Magento 2 по следующей ссылке:

Вы также можете найти больше информации о Jenkinsfile Варианты и синтаксис здесь:

В последующем посте я объясню, как вы можете сделать еще один шаг дальше и сохранить только одну конфигурацию трубопровода для всего вашего проекта в общем репозитории. Быть в курсе!

Оригинал: «https://dev.to/jalogut/setup-continuos-integrationdelivery-system-in-just-4-steps-with-jenkins-pipelines-and-blue-ocean»