Jenkins+Github+Nginx реализует автоматическое развертывание интерфейсных проектов

GitHub
Jenkins+Github+Nginx реализует автоматическое развертывание интерфейсных проектов

предисловие

Недавно я создаю свой собственный веб-сайт. После того, как структура веб-сайта настроена, мне нужно разместить проект на сервере для запуска.Однако очень хлопотно вручную развертывать содержимое веб-сайта каждый раз, когда я его обновляю, поэтому Я хочу создать набор служб автоматического развертывания. После прочтения некоторых случаев я, наконец, выбрал более распространенное решение Jenkins + Github + Nginx для сборки, поэтому я следовал руководству, После прочтения многих руководств оно было не очень полным. По умолчанию следующие операции применяются к вашему собственному серверу и открывают необходимые порты. Мой собственный сервер ubuntu. Примечание. Ubuntu использует (apt-get install software name) для установки программного обеспечения, сервер redhat (т. е. CentOS) использует команду (yum install software name) для установки с помощью инструмента удаленного управления xhell.

Принципы автоматического развертывания

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

установить java SDK

Jenkins нуждается в среде java и должен установить java jdk.Первый способ установки - установить его из инструмента управления пакетами, то есть выполнить следующую команду.Здесь я установил jdk8. Второй — загрузить установочный пакет с официального сайта и распаковать его в указанную папку, этот способ подвержен ошибкам и не рекомендуется.

sudo apt-get update
sudo apt-get install openjdk-8-jdk

После завершения установки настройте переменные среды, выполните sudo vi ~/.bashrc, добавьте следующую информацию в конец файла, обратите внимание на изменение JAVA_HOME на свой собственный путь java, мой путь установки по умолчанию — /usr/lib /jvm/java-8-openjdk-amd64

#set oracle jdk environment
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
JRE_HOME=$JAVA_HOME/jre
JAVA_BIN=$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH CLASSPATH

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

source ~/.bashrc

Я столкнулся с проблемой при выполнении синтаксической ошибки команды source ~/.bashrc: неожиданный конец файла, проверенный формат файла = unix, и проблем нет, Наконец, восстановите файл .bashrc с помощью команды cp /etc/skel/.bashrc ~. После настройки переменных среды выполните source ~/.bashrc без ошибок. Введите java -version, чтобы вывести информацию о номере версии java jdk, и установка прошла успешно.

установить нгинкс

Выполните следующую команду, чтобы установить nginx

sudo apt-get update
sudo apt-get install nginx

После завершения установки nginx открывается по умолчанию.Введите ip вашего сервера в браузере, и вы сможете увидеть страницу.Путь к странице по умолчанию /var/www/html.Если вы его не видите,пожалуйста, проверьте, не сообщается ли об ошибке во время установки и не был ли открыт порт 80.

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

Сначала добавьте ключ репозитория в систему

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

После добавления ключа система вернет OK. Затем мы добавляем адрес репозитория пакетов Debian к серверу sources.list:

echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

Затем обновите репозиторий пакетов

sudo apt-get update

Наконец, установите Jenkins и введите y.

sudo apt-get install jenkins

Возможные ситуации: apt-get install jenkins сообщил об ОШИБКЕ: исполняемый файл Java не найден в текущем PATH: /bin:/usr/bin:/sbin:/usr/s решить: 1. Проверьте правильность вашего пути PATH_HOME. Если он неверен, перенастройте его. Выполните команду echo $PATH, чтобы увидеть, есть ли что-нибудь

2. Выполните следующую команду, чтобы связать исполняемый файл Java.

update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-12.0.1/bin/java" 1  #换成你的安装路径
update-alternatives --config java

После того, как проблема решена и проблемы нет, введите в браузере ip+8080 сервера (например: 128.22.26.108:8080), если все нормально, может появиться следующая страница:

В зависимости от проекта PATH, разблокировав пароль, разблокировка Jenkins столкнулась с вопросом CD: Secrets /: разрешение запрещено, потому что секреты не читали разрешения и оснащены файлом.

sudo chmod 777 secrets

Войдите в каталог, откройте файл, скопируйте пароль

sudo vi initialAdminPassword

После разблокировки выберите установку предложенного плагина.

Затем дождитесь завершения установки плагина, создайте учетную запись администратора, введите информацию и нажмите «ОК».

конфигурация гитхаба

Выберите настройки в github

Выберите настройки разработчика

Выберите «Токен личного доступа» -> «Создать новый токен», создайте пользователя с правами на чтение и запись. Проверьте параметры следующим образом:

После подтверждения сгенерируйте токен, скопируйте его и сохраните.

конфигурация Дженкинса

После входа в jenkins выберите System Management => System Settings => Github Server, чтобы добавить информацию

Добавьте учетные данные Дженкинса

Щелкните тест подключения после завершения, информация об успешном подключении выглядит следующим образом:

Затем выберите «Системное администрирование» => «Конфигурация глобальных инструментов». Снимите флажок автоматической установки в установке JDK, введите корневой каталог установки java jdk в JAVA_HOME, мой корневой каталог установки — /usr/

После завершения вернитесь на домашнюю страницу, чтобы создать новую задачу, введите имя задачи, выберите создание бесплатного программного проекта и нажмите «ОК».

Общие настройки

управление исходным кодом

Добавить учетные данные

триггер сборки

Выберите Опрос SCM, введите время отправления

Построить

Выберите оболочку выполнения и введите сценарий сборки.

Наконец, сохраните, нажмите «Создать сейчас», после чего проект будет иметь ход сборки.

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

Когда я столкнулся с ошибкой во время сборки, мне нужно было ввести пароль для выполнения команды sudo, поэтому я не стал продолжать сборку.Наконец-то я нашел способ выполнить sudo visudo и добавить следующую информацию в конец файла .

jenkins ALL=(ALL) NOPASSWD: ALL

Затем нажмите ctrl+o для сохранения, затем Enter и, наконец, ctrl+x для выхода. Перестроение должно быть успешным. После успеха вы можете увидеть свой проект в пути /var/lib/jenkins/workspace/, а затем попытаться изменить локальный проект.После отправки git push обнаруживается, что jenkins отвечает на выполнение билд, а так же обновляется файл сервера. , указывая на то, что проект завершен, вознаградите себя!

Суммировать

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