О Дженкинс кластера
Одновременно выполнять несколько задач, отдельные возможные узкие места в производительности на Дженкинс, использование Дженкинс кластера может эффективно решить эту проблему, позволяя несколько машин для обработки этих задач может быть дисперсной давление на скрытой точки отказа в автономной версии Дженкинс также имеет дисперсия, сегодня для борьбы с быстрым построения кластеров Дженкинс, Дженкинс версии 2.190.2;
Как быстро создать кластеры
По Docker можно сохранить большую часть подготовительной работы, вам нужно только установить докер на компьютерах Linux, дополненный небольшое количеством для того, чтобы завершить кластерную структуру и операции;
Экологическая информация
Фактическое использование окружающей среды в общей сложности три компьютера, их параметры одинаковы, а именно:
- Операционная система: релиз CentOS Linux 7.6.1810
- Отключите брандмауэр
- Докер: 1.13.1
Три компьютер информации выглядит следующим образом:
Hostname | IP-адрес | эффект |
---|---|---|
мастер | 192.168.133.131 | Дженкинс кластера главного узла для предоставления веб-сервисов |
agent1 | 192.168.133.132 | Дженкинс затем работа на узле кластера первого, метка Maven |
agent2 | 192.168.133.133 | Дженкинс затем работа на кластере 2 - го узла, метка Gradle |
Он рекомендует agent2 память узла, чем 4G, потому что следующий боевых действий будет компилировать сборки пружинный каркас с agent2, требования к памяти немного;
Препараты
- Все операции за счет корневой;
- Создайте папку на каждом компьютере / USR / местные / Jenkins
Дженкинс создал мастер
- Log мастер машины, выполните следующую команду:
docker run \
-u root \
-idt \
--name master \
-p 8080:8080 \
-p 50000:50000 \
-v /usr/local/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean:1.19.0复制代码
- Выполнение Docker Мастер журналов , журнал отображается Дженкинс ключи, как показано в красной коробке консоли:
- Браузер введите адрес: HTTP: //192.168.133.131: 8080, Дженкинс отображает страницу Логина, как показано ниже, вы можете войти войти ключи красного поля введите местоположение вы только что скопированным:
- Выберите установку рекомендуемых плагинов :
- Дождитесь установки плагина завершения Интернет:
- Далее следует создать администратора и использовать примеры URL - адрес операции здесь не сказать, по своему усмотрению в соответствии с реальной ситуацией, до
сих пор, мастер Дженкинс уже быть на месте, следующий будет agent1 и agent2 в качестве рабочего узла включается в кластер;
Регистрация agent1
- Дженкинс добавлены на узлах страниц, работающих на следующем рисунке, сначала введите страницу управления узлом:
- Ниже, новый узел называется AGENT1 :
- Информационные детали следующего узла ниже, обратите внимание на содержание четыре красных коробки должна быть одинаковыми и в:
- Отображает список машин после того, как успешно сохранено, как показано ниже, красный крест на средствах значка, что машина не в сети (в это время agent1 нет доступа), нажмите на красной коробке:
- Как показано ниже, красная коробка agent1 команды запуска команды, машина выполнит команду добавляемой в кластер как agent1 из:
- Обратите внимание на красный прямоугольник на карте agent.jar называется agent.jar загрузки файла ссылку для загрузки файла agent1 PC / USR / местные / Дженкинс каталог;
- SSH Войти agent1 компьютер, выполните следующую команду, вы можете присоединиться к agent1 Jenkins кластера:
docker run \
-u root \
-idt \
--name agent \
-v /usr/local/jenkins:/usr/local/jenkins \
bolingcavalry/openjdk-with-sshpass:8u232 \
java -jar /usr/local/jenkins/agent.jar \
-jnlpUrl http://192.168.133.131:8080/computer/agent1/slave-agent.jnlp \
-secret 44c3e8d1531754b8655b53294bbde6dd99b3aaa91a250092d0d3425534ae1058 \
-workDir "/usr/local/jenkins"复制代码
Вышеуказанная команда во второй половине, что ява -jar ...... это agent1 картина красный квадрат перед командой запуска, единственное , что изменение является agent.jar в абсолютный путь / USR / местные / Jenkins / агента .jar
- Зеркальный выше команд является bolingcavalry / OpenJDK-с-sshpass: 8u232 , Dockerfile , которое следует, показывая очень простой, установлен внутри зеркала OpenJDK sshpass, такой контейнер может занять пароль удаленной машины при выполнении команды SSH без ждет пользователя , чтобы ввести пароль, то легко выполнить команду SSH сценарий оболочки:
FROM openjdk:8u232
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --assume-yes sshpass复制代码
- Дженкинс пошел на сайт, чтобы увидеть список узлов, как показано ниже, вы можете увидеть agent1 успешно присоединились:
Регистрация agent2
agent2 способ присоединиться к кластеру и agent1 в основном те же, только следующие два очка, чтобы отметить:
- Дженкинс создать узел на странице, имя agent2
- agent2 метка Gradle , красная коробка , как показано ниже:
- На данный момент agent2 также присоединился к успеху:
На этом этапе программа установки Дженкинс кластера завершена, эти два узла с разными ярлыками, следующая статья , «трубопровод Дженкинс под реальным кластером» , мы создаем задачу трубопровода в этой кластерной среде, и по ярлыку Он назначается на другой узел, многоузловой выполнения параллельного;