- PVSM.RU - https://www.pvsm.ru -
Добрый день, хаброчитатели.
Снова хочу поделиться с вами небольшими практическими наработками.
Совсем недавно в рамках одного проекта мне была поставлена задача подготовить для команды тестеров стандартное окружение для сборки и тестирования приложения (Jenkins + SVN + Maven).
Все тесты должны проводиться в частной виртуальной сети, доступ в которую организован через впн-соединение.
Сервер, на котором производится установка выхода в интернет не имеет.
Прав на установку чего-либо заказчик решил не выдавать в целях безопасности. И по той же причине из доступных портов были только 22 и 8080.
Не густо, но, как выяснилось, вполне достаточно.
Первым делом выкачиваем себе локально последнюю версию Apache-Tomcat [1] и Jenkins [2].
Потом по scp заливаем архив и jenkins.war на наш сервер.
Распаковываем архив и помещаем jenkins.war в папку /path/to/my/home/apache-tomcat/webapps.
Пробуем запускать:
/path/to/my/home/apache-tomcat/bin/startup.sh
Using CATALINA_BASE: /path/to/my/home/apache-tomcat
Using CATALINA_HOME: /path/to/my/home/apache-tomcat
Using CATALINA_TMPDIR: /path/to/my/home/apache-tomcat/temp
Using JRE_HOME: /usr/java/latest
Using CLASSPATH: /path/to/my/home/apache-tomcat/bin/bootstrap.jar:/path/to/my/home/apache-tomcat/bin/tomcat-juli.jar
Проверяем, что Jenkins стартовал корректно по ссылке your_server_ip [3]:8080/jenkins
Теперь нужно реализовать работу svn ( в моей случае это Subversion, который идёт в поставке с redhat) через Tomcat.
После некоторого поиска готовых решений нашёл SCM Manager [4].
Выкачиваем последнюю версию SCM WebApp [5] и заливаем её по scp на сервер в папку /path/to/my/home/apache-tomcat/webapps.
Делаем рестарт Tomcat.
Идём знакомиться с SCM Manager по ссылке your_server_ip [3]:8080/scm-webapp-1.30.
Стандартные логин/пароль — scmadmin/scmadmin.
Функционал приятно порадовал. Приложение умеет работать с SVN и GIT.
Меню простое и понятное.
Создаём пользователя с правами «READ» для использования его в задачах Jenkins.
Создаём репозиторий.
Даём доступ пользователю в репозиторий.
Смотрим какой url у нашего репозитория и пробуем сделать checkout.
sandro@sandro-VirtualBox:~/myrepo$ svn checkout http://jenkins@your_server_ip:8080/scm-webapp-1.30/svn/myrepo
Authentication realm: <http://your_server_ip:8080> SONIA :: SCM Manager
Пользователь: jenkins
Пароль для 'jenkins':
Получена редакция 0.
Maven устанавливаем по той же схеме.
Выкачиваем локально пакет Apache-Maven [6], отправляем его по scp на сервер и там распаковываем.
Так как у сервера выхода в интернет нет, то нужно сразу позаботиться о наличии всех зависимостей сборки локально на сервере.
Для этого я просто попросил одного из тестеров приложения дать мне архив его локального репозитория (для тех, кто не знаком с maven, это папка .m2).
Этот архив я также отправил по scp на сервер и там распаковал.
Настраиваем maven на использование локального репозитория:
Открываем maven/conf/settings.xml, находим и приводим к следующему виду строки:
<localRepository>/path/to/my/home/.m2/repository</localRepository>
<offline>true</offline>
Настраиваем Jenkins на использование нашего Maven.
Для этого открываем вкладку «Настроить Jenkins» -> «Конфигурирование системы»
На этом конфигурирование завершено. Окружение готово к работе.
Автор: camec
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/32153
Ссылки в тексте:
[1] Apache-Tomcat: http://apache-mirror.telesys.org.ua/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.tar.gz
[2] Jenkins: http://mirrors.jenkins-ci.org/war/latest/jenkins.war
[3] your_server_ip: http://your_server_ip
[4] SCM Manager: http://www.scm-manager.org/
[5] SCM WebApp: http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.30/scm-webapp-1.30.war
[6] Apache-Maven: http://apache-mirror.telesys.org.ua/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
[7] Источник: http://habrahabr.ru/post/176719/
Нажмите здесь для печати.