Автоматическое развертывание Jenkins

Автоматизированная эксплуатация и техническое обслуживание

1. Что такое ДЖЕНКИНС

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

Дженкинс может быть установлен с помощью нативных системных пакетов, Docker или даже автономной от любой машины с помощью среды Runtime Java (JRE)

2. Установите jenkins в систему centos.

три пути

  • Установить через докер
  • запустить в tomcat через jenkins.war
  • Установить через юм

2.1 Установка через докер

  • Создание файла Jenkins и изменение разрешений на файл
mkdir -p /usr/local/atom.hu/jenkins
chown -R 1000:1000 /usr/loca/atom.hu/jenkins
  • вытащить изображение
docker pull jenkins
  • загрузочный образ
docker run -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/local/atom.hu/jenkins/:/var/jenkins_home -d jenkins
  • Подожди немного

  • Войдите в каталог для просмотра пароля

[root@localhost secrets]# cat initialAdminPassword 
9ca7368042fe45be8b693ab43e7797d1

2.2 Установка с помощью jenkins.war

существуетофициальный сайт ДженкинсаСкачать пакет войны в

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

wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

После завершения загрузки поместите проект вtomcatсерединаwebappsв папке

2.3 Установите jenkins через yum

Получить источник установки программного обеспечения

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

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

yum -y install jenkins

После завершения установки запустите jenkins

systemctl start jenkins

В ходе экспериментов с тремя методами каждый из них был изучен и, наконец, выбран вариант установки через yum, который также является наиболее трудоемким методом установки, но он относительно надежен.Хотя метод установки Docker прост, он столкнется со многими программами. Проблема. Способ использования jenkins.war относительно прост, но он также столкнулся со многими проблемами, и в конце концов сдался и принял самый примитивный и хлопотный способ.

3.0 Необходимые условия для использования jenkins для автоматизации развертывания

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

Измените файл конфигурации jenkins

# 打开jenkins的配置文件
vim /etc/sysconfig/jenkins
# 修改 $JENKINS_USER 的值为root
$JENKINS_USER="root"

Изменить разрешения пользователя для папки, связанной с Jenkins

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

Перезапустите службу Jenkins и проверьте, запустил ли пользователь Jenkins, переключился на root

# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)
systemctl restart jenkins
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成

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

4.0 Установить плагин в jenkins

В jenkins новичкам рекомендуется установить рекомендуемый плагин напрямую.После установки пароля администратора войти в основной интерфейс.Помните, чтобы не забыть пароль.Хотя есть решения,но лучше запомнить пароль.

Установите необходимые плагины jenkins

Git Parameter Plug-In

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

Maven Integration plugin

При деплое проекта spring boot нам нужно создать проект maven.После установки этого плагина при создании проекта, если такого плагина нет, то при создании проекта он будет недоступен.构建一个maven项目Опции

Publish Over SSH

Иногда jenkins, которые мы создаем на машине A, могут быть развернуты на машине B, что требуетPublish Over SSHслужба поддержки

Обратите внимание, что при заполнении IP-адреса хоста, если две машины принадлежат одному оператору, лучше максимально заполнить IP-адрес интрасети, это очень важно.

5.0 Добавьте соответствующую среду поддержки на сервер

  1. Установите openjdk 1.8 Для работы jenkins требуются зависимости openjdk

Официально

You will need to explicitly install a Java runtime environment, because Oracle's Java RPMs are incorrect and fail to register as providing a java dependency. Thus, adding an explicit dependency requirement on Java would force installation of the OpenJDK JVM.

yum install java-1.8.0-openjdk
  1. установить git
yum install git
  1. Установите узел, интерфейсный проект будет развернут позже
# 下载安装包
wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz

# 解压
tar -xvf node-v10.15.3-linux-x64.tar.xz -C ./

# 将node命令和npm设置软连接到 /usr/bin 中
ln -s ./node /usr/bin/node
ln -s ./npm /usr/bin/npm

# 然后在其他的地方都可以使用这两个命令了
  1. Установитьmaven, И в/etc/profileСредняя конфигурация

6.0 Конфигурация системы

В инструменте глобальной конфигурации настройтеjdk, maven, git, nodeпуть установки

7.0 Автоматизированное развертывание внешнего интерфейса vue проекта

Сценарий развертывания, пакет webpack на машине A, отправка упакованных файлов в указанную папку на машине B и доступ через прокси-сервер nginx

  1. Создайте проект программного обеспечения в свободном стиле

2. Заполните описание проекта

  1. Выберите параметризованный процесс сборки, а затем вы можете выбрать разные ветки для упаковки.

  1. Выберите различные инструменты управления версиями, SVN и Git могут быть доступны, здесь мы используем Git

Нам нужно добавить своего пользователя и пароль, иначе будет следующая ситуация

  1. Выберите в среде сборкиSend files or execute commands over SSH after the build runs

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

cd /home/project/web/test  
tar -zxvf dist.tar.gz
rm -rf dist.tar.gz

/home/project/web/testКаталог, настроенный для целевого хоста nginx

  1. проверено в сборкеExecute Shell
    и настройте команду для выполнения во время сборки
cnpm i &&
rm -rf dist && 
npm run build && 
cd dist&& 
tar -zcvf dist.tar.gz *

Нажмите «Сохранить», чтобы завершить создание внешнего проекта.

8.0 Автоматическое развертывание проектов весенней загрузки

  1. Создайте новую задачу, создайте проект maven

  1. Заполните описание проекта, настройте параметры для сборки

  1. Настройка управления исходным кодом

  1. Настройте ssh-сервер среды сборки

BUILD_ID=DONTKILLME
source /etc/profile;
cd /home/project/java/test&&

pid=`ps -ef | grep 'jar 名称' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi

 java -jar lk-truck-mendery-webfront-1.0.0-SNAPSHOT.jar > nohup.log &

будь осторожен

  1. shellнужно добавить передBUILD_ID=DONTKILLME, иначе после того, как Дженкинс создает процесс Java, когда он выходит, он убьет ранее созданный проект
  2. нужно добавить передsource /etc/profile, иначе может бытьjavaКоманда не найдена

На этом проект springboot завершен.

9.0 Что делать, если я забыл пароль после установки пароля

  1. Перейдите в файл конфигурации jenkins
cd /var/lib/jenkins/users
vim config.xml

Замените значение по пути на

#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS

После замены,重启jenkins

systemctl restart jenkins

Пароль для входа становится 1111111