Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Управление процессом разработки ИС Новый топик    Ответить
 Прошу помощи по Jenkins  [new]
Zhenek
Member

Откуда: Ванино
Сообщений: 556
Добрый вечер)
Собственно проблема:(
Есть PHP проект, репозиторий на GitHub, хочу, чтобы в ручном режиме, на dev сервере всегда были свежие данные с ветки develop моего репа.

Поставил на сервер Jenkins, maven (не знаю зачем даже).
Сейчас сижу колдую.. Jenkins работает. Репозиторий подключен, изменения он с него забирает и видит. Даже в папке проекта /var/lib/jenkins/workspace/TestDev/ лежат свежие файлы. Но помимо этого еще лежит pom.xml, .git

И мне нужно закинуть файлы в папку домена, чтобы свежая версия для теста была доступна в сети.
как это сделать?
Тесты, проверка синтаксиса и т.д. пока не нужны.. Хочу научиться делать хотя бы это.

Нашел 1 инструкцию, там делалось через ant, есть ли смысл, если с простой задачей должен и jenkins справиться.
Что использовать shell? если да, то просто копировать файлы игнорируя .git и pom.xml?

Весь день бьюсь(

Модератор: Тема перенесена из форума "Вопрос-Ответ".
11 янв 19, 11:11    [21782549]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи по Jenkins  [new]
kolobok0
Member

Откуда:
Сообщений: 1951
Zhenek,

Джэнкинс это универсальный конструктор по управлению различными инструментариями.
Выделяется два "основных подхода" pipeline и "нативный-с-галочки".
Выбираете то, что ближе к душе и менее замороченный для вас.
Если совсем в лоб - заюзайте шэлл и вся не долга.

Подсказка:
В дженкинсе можно изменить рабочий каталог на какой хошь - и выгрузить по нужному пути (но надо учесть - что если есть более чем один сборщик, то надо а) привязать сборщик к нужной машине б) привязать выгрузка к этому сборщику.
Но если гитхаб умеет регистрировать внешние ранеры - то джэнкинс совсем не нужен, от слова совсем. Регистрите ранер на машине куда нужно загрузить исходники и подключаете пайпу на гитхабе...всё..

удачи вам
(круглый)
11 янв 19, 19:36    [21783244]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи по Jenkins  [new]
Zhenek
Member

Откуда: Ванино
Сообщений: 556
kolobok0 , спасибо за ответ)
Но у меня еще есть пару вопросов, если можно..

У меня проблема скорее не конкретного решения, а общего системного непонимания)

Сейчас я установил ant, собрал конфиг по образцу, поставил все зависимости.
Теперь при сборке проекта прогоняются тесты на ситаксис,стиль и т.д.
Создаются папки с отчетами и другие папки..
Как я понимаю, в папку src попадает готовый проект "последняя версия" и я могу просто ее оттуда скопировать в рабочий каталог?
А если например jenkins находится на другом сервере а собранный проект нужно закинуть на 2 сервер. неужели тоже добавлять в блок "действия после сборки" выполнить shell и там например архивировать папку, потом карячиться ее отправлять из шела и как-то (как?ложить на сервер скрипт и тем-же шелом после заливки дергать его и говорить "лови и распаковывай") распаковывать?
Или для всего этого есть стандартный функционал ? Как я понял архивировать артефакты, заархивирует все,включая файлы отчетов.

Просто я думал, что для обычных php проектов, для которых не нужна сборка будет много инфы, а она по большей части по сборке Java проектов..

п.с. то, что дженкинс не более чем дирежер в оркестре я понял, он только дергает модули, а сам ничего не делает
п.с.с. менять пути сборки жестко не хочу, т.к. например на этом-же дев сервере после того как разберусь, перетащу на гит еще пару проектов и так-же буду собирать их и тестировать.
12 янв 19, 16:39    [21783647]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи по Jenkins  [new]
kolobok0
Member

Откуда:
Сообщений: 1951
Zhenek,

ну а кто вам утверждает что надо в рамках одной джобы работать? :)

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

да, и ещё... погуглите на предмет "стандартных и полезных" плагинов для джэнкинса из опыта других людей - много чего полезного потянете для себя...


(круглый)
12 янв 19, 21:17    [21783783]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи по Jenkins  [new]
whitediver
Member

Откуда:
Сообщений: 57
Zhenek,
А вам просто задеплоить нужно?
Мы в таком случае добавляли сервер на который нужно задеплоить код как ноду Jenkins и там уже выполняли bash

Но для этого вам потребуется на ноде как минимум git и java

Есть плагины которые выполняют код на одной ноде и потом деплоят по ssh - тоже подход но менее интуитивный.

А лучше всего отнестись к Jenkins как к сотруднику и написать для начала просто на русском. Я хочу чтобы... и так далее
23 янв 19, 18:13    [21792569]     Ответить | Цитировать Сообщить модератору
Все форумы / Управление процессом разработки ИС Ответить