Дженкинс сработал дважды - PullRequest
0 голосов
/ 17 мая 2018

1) Я использую Jenkins API для запуска задания, поэтому, когда мой инструмент мониторинга Sensu отправляет запрос Jenkins API для запуска jenkins JOb, начинается сборка. 2) Я пытался даже вручную, нажав buildnow вместо использования вызовов API, чтобы убедиться, что это не проблема вызова API.

Что содержится в моей сборке? Он работает на Мастере и запускает игровую книгу с помощью плагина ansible

Проблема: как только сборка завершена, она успешна, она автоматически запускает другую сборку без причины снова и запускает сборку снова. И это простая конфигурация задания, которая работает на master и запускает ansible-playbook с помощью предоставленного Jenkins плагина

Кто-нибудь может мне помочь в чем может быть проблема? Дженкинс Версия: 2.89.3 Ansible плагин: 0,8

Также я мог видеть работу Дженкинса. Автор xyz Создано пользователем xyz Создано пользователем xyz Создано пользователем xyz Создано пользователем xyz Создано пользователем xyz Создано пользователем xyz для отдельной сборки

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

Вместо использования плагина Ansible, я рекомендую сделать Дженкинс следующим образом:

Создание конвейера из Jenkinsfile с чем-то вроде:

pipeline {
    parameters {
        string(name: 'Parameter1', defaultValue: 'value1', description: 'Parameter1?')
        string(name: 'Parameter2', defaultValue: 'value2', description: 'Parameter2?')
        string(name: 'Parameter3', defaultValue: 'value3', description: 'Parameter3?')

    }

    agent any

    options {
        ansiColor('xterm')
        timestamps()
    }

    stages {
        stage('Run Ansible Playbook') {
            steps {
                script {
                    retry (1) {
                        try {

                            echo "Build ${params.Parameter1} on ${params.Parameter2}"

                            sh "export ANSIBLE_FORCE_COLOR=true && \
                                ansible-playbook -vv \
                                                -i inventories/hosts \
                                                -e \"var1=${Parameter1}\" \
                                                -e \"var2=${Parameter2}\" \
                                                -e \"var3=${Parameter3}\" \
                                                --vault-password-file ~/.ansible/vaultpass.txt \
                                                playbooks/main.yml"
                        }
                        catch (exception) {
                            throw exception
                        }

                        finally {
                            sh "export ANSIBLE_FORCE_COLOR=true && \
                                ansible-playbook -vv \
                                                -i inventories/hosts \
                                                -e \"var1=${Parameter1}\" \
                                                -e \"var2=${Parameter2}\" \
                                                -e \"var3=${Parameter3}\" \
                                                --vault-password-file ~/.ansible/vaultpass.txt \
                                                playbooks/clean.yml"
                        }
                    }
                }
            }
        }
    }
}

Вы можете управлять своим конвейером проще и проще, чем с помощью Ansible Plugin.

0 голосов
/ 24 мая 2019

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

  • Откройте работу Дженкинса
  • Нажмите Настроить
  • Снимите отметку Выполните параллельные сборки при необходимости
  • Нажмите Сохранить

enter image description here

0 голосов
/ 18 мая 2018

Возникает ли эта проблема при сборке вручную? если это так, то я бы просто посмотрел на конфигурацию сборки Jenkins и убедился, что вы не выбрали опцию Построить другие проекты в разделе Post Build и упомянули тот же проект: P

EDITED

jenkins job Начато пользователем xyz Начато пользователем xyz Начато пользователем xyz Автор: xyz Автор: xyz Автор: xyz Создано пользователем xyz для отдельной сборки

enter image description here

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

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

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