LINUX.ORG.RU

Посоветуйте continious integration


0

1

Есть опенсорсный проект под node.js, ведется на гитхабе. Есть желание прикрутить к проету continuous integration server.

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

Меня напрягает, что все CI на жабе сделаны, с которой я особо дел не имел. Хочется понять, во что по затратам времени выльется освоение и настройка CI, и что полезного можно будет туда навесить кроме линта и автоматизации юнит-тестов

★★★★★

> Меня напрягает, что все CI на жабе сделаны

Как минимум Buildbot и Bitten сделаны на Питоне.

tailgunner ★★★★★
()

Меня напрягает, что все CI на жабе сделаны

Как правило они достаточно гибкие и решают очень широкий класс задач. Имел долгий опыт работы с teamcity и hudson. Для первого дописывал поддержку git. Для второго плагин который вытягивал из svn обновленные модули приложения, чтобы протестировать их с зависимостями. Как видишь, совсем уж специфические штуки. А так на них крутилась достаточно сложная система тестирования и деплоя.

Единственная проблема они тяжеловатые и жрут много.

baverman ★★★
()
Ответ на: комментарий от baverman

Где можно ознакомиться, под какие классы задач заточены CI и чем стоит ограничиться в моем конкретном случае?

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

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Где можно ознакомиться, под какие классы задач заточены CI

Непрерывные билды с целью получения скорейшего фидбека о поломках. Собственно.

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

отслеживать несколько бренчей в паре десятков репозиториев

Тимсити сразу отсекается, бесплатной лицензии не хватит.

Попробуй hudson, он используется очень широко, поэтому все вопросы будут решаться гуглом на первой странице. Насколько знаю, у него есть интеграция с jslint, то есть будет рисовать красивый выхлоп провалившихся чеков. И хорошая поддержка разномастных VCS. Плюс множество способов нотификации о проблемных билдах, в том числе и интеграция с IDE — можно закоммитить код, и при фейле появится красная лампочка, прям в среде разработки. Хотя, лично я предпочитаю джаббер.

baverman ★★★
()
Ответ на: комментарий от Vit

Непрерывное развертывание ПО: автоматизация процессов сборки, тестирования и внедрения новых версий программ (Signature Series)
Джез Хамбл, Дейвид Фарли
432 стр., с ил.; ISBN 978-5-8459-1739-3, 978-0-321-60191-9; формат 70x100/16; твердый переплет; тип бумаги: офсетная; серия Signature Series; 2011, 3 кв.; Вильямс.
http://www.williamspublishing.com/Books/978-5-8459-1739-3.html

Непрерывная интеграция: улучшение качества программного обеспечения и снижение риска (Signature Series)
Поль М. Дюваль, Стивен М. Матиас III, Эндрю Гловер
240 стр., с ил.; ISBN 978-5-8459-1408-8, 0-321-33638-0; формат 70x100/16; твердый переплет; тип бумаги: офсетная; серия Signature Series; 2008, 2 кв.; Вильямс.
http://www.williamspublishing.com/Books/978-5-8459-1408-8.html

iZEN ★★★★★
()

Из коммерческих хорош Atlassian Bamboo, но он имеет смысл если у тебя инфраструктура Atlassian'овская. Если же нужен просто CI с кучей плагинов почти на все случаи жизни - бери Hudson, не прогадаешь.

Меня напрягает, что все CI на жабе сделаны, с которой я особо дел не имел.

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

shty ★★★★★
()
Ответ на: комментарий от XVilka

Да и управление патчами прикручивается на отлично вместе с gerrit

XVilka ★★★★★
()
Ответ на: комментарий от shty

Из коммерческих хорош Atlassian Bamboo

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

baverman ★★★
()

Continuous integration - баззворд, придуманный маркетоидами для оправдания убогости впариваемых быдлоязычков. В нормальных языках, типа Common Lisp, возможности так называемого «continuous integration» встроенны в сам язык.

anonymous
()
Ответ на: комментарий от anonymous

Ага, а чудесная лисповм способна прогонять 1000 тесткейзов в секунду. Причем с нулевой загрузкой CPU.

О чем ты поешь, анон? Какие средства, встроенные в язык? Это ж динамика, поэтому будет сраться в самых неожиданных местах.

baverman ★★★
()
Ответ на: комментарий от baverman

> О чем ты поешь, анон?

Я об ASDF, бедняша. О том ASDF, который заруливает все ваши быдлоMavenы по самые помидоры.

Это ж динамика, поэтому будет сраться в самых неожиданных местах.


О conditions и restarts месье, конечно же, не слышал? Может быть, месье не стоит ввязываться в дискуссии, о предмете которых месье не имеет ни малейшего представления?

anonymous
()
Ответ на: комментарий от anonymous

Я об ASDF, бедняша

Анон, хотя бы прочитай что-такое CI, запаковать пакет это 1% от этого.

conditions и restarts

Ваще лол. Не позорь CLщиков, даже у них тройной фейспалм будет. Приводишь левые фишки из рантайма, когда речь идет о тестировании.

baverman ★★★
()
Ответ на: комментарий от baverman

> Анон, хотя бы прочитай что-такое CI, запаковать пакет это 1% от этого.

запаковать пакет


Если ты считаешь, что ASDF - только «запаковать пакет», то нам с тобой не о чем больше дискутировать.

Ваще лол. Не позорь CLщиков, даже у них тройной фейспалм будет. Приводишь левые фишки из рантайма, когда речь идет о тестировании.


Я не удивляюсь тому, что для тебя «тестирование» и «рантайм» - непересекающиеся понятия. Что ещё взять с человека, который не владеет предметом обсуждения?

anonymous
()

> Посоветуйте continious integration > continious integration > continious

Кстати, заметил, что быдлокодеры, как правило, не могут написать слово "continuous" без ошибок с первого раза.

anonymous
()
Ответ на: комментарий от anonymous

Если ты считаешь, что ASDF - только «запаковать пакет»

Хорошо. Он еще умеет запускать юниттесты. Итого ASDF пересекается с CI на 2%. Унылый лисп, такой унылый.

Я не удивляюсь тому, что для тебя «тестирование» и «рантайм»

Жги еще, мой маргинальный друг.

baverman ★★★
()
Ответ на: комментарий от anonymous

Давай уж, приоткрой завесу скрытых возможностей asdf, яви его мощь. Что нужно:

1) Распределенные билды.

2) Интеграция с vcs и запуск билдов на срабатывание триггера.

3) Отчеты о проваленных билдах.

4) Поиск коммита, где был сломан билд.

5) Ведение статистики. Отчеты и аналитика по ней.

6) Различные методы нотификации о фейлах.

Хотя можешь не отвечать. Я прекрасно знаю, что услышу: перечень велосипедов, которые еще только предстоит написать. Или, что вероятнее, типичную мантру: «в нашем хипстерском коммунити так делать не принято». Тьфу не тебя анон, ты обычный лоровский лиспер, разговаривать с тобой попросту не о чем.

baverman ★★★
()
Ответ на: комментарий от baverman

> 1) Распределенные билды.

Делается на лиспе в три строчки.

2) Интеграция с vcs и запуск билдов на срабатывание триггера.


Делается на лиспе в три строчки.

3) Отчеты о проваленных билдах.


Делаются на лиспе в три строчки.

4) Поиск коммита, где был сломан билд.


Делается на лиспе в три строчки.

5) Ведение статистики. Отчеты и аналитика по ней.


Делается на лиспе в три строчки.

6) Различные методы нотификации о фейлах.


Делаются на лиспе в три строчки.

Что сказать-то хотел?

anonymous
()
Ответ на: комментарий от baverman

> Тьфу не тебя анон, ты обычный лоровский лиспер, разговаривать с тобой попросту не о чем.

Тьфу не тебя анон, я обычный лоровский быдлокодер, не в состоянии написать 20 строчек, разговаривать с тобой попросту не о чем.


FIXED

anonymous
()
Ответ на: комментарий от baverman

Ваша напускная иронизация де-факто означает, что ответить по-сущетсву Вы не в состоянии. Слив засчитан.

anonymous
()
Ответ на: комментарий от anonymous

Делаются на лиспе в три строчки.

6 * 3 = 18

ну что анон, яви систему CI об осмьнадцати строках, коли не врёшь

shty ★★★★★
()
Ответ на: комментарий от baverman

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

иногда ощущение слона неуместно, а иногда хорошо :)

shty ★★★★★
()
Ответ на: комментарий от shty

> ну что анон, яви систему CI об осмьнадцати строках, коли не врёшь

И какой мне с этого будет гешефт?

anonymous
()
Ответ на: комментарий от anonymous

Continuous integration - баззворд, придуманный маркетоидами для оправдания убогости впариваемых быдлоязычков.

я заметил, OMG-лисперы всё время путают дату и код

В нормальных языках, типа Common Lisp, возможности так называемого «continuous integration» встроенны в сам язык.

по Вашей логике получается, что lisp - это баззворд, коий делали маркетологи

shty ★★★★★
()
Ответ на: комментарий от shty

> по Вашей логике получается, что lisp - это баззворд, коий делали маркетологи

Нет, это у Вас перепутаны причина и следствие. Что не так?

anonymous
()
Ответ на: комментарий от anonymous

> ну что анон, яви систему CI об осмьнадцати строках, коли не врёшь

И какой мне с этого будет гешефт?

не будешь таким шлимазлом, как сейчас кажешься

shty ★★★★★
()
Ответ на: комментарий от anonymous

> по Вашей логике получается, что lisp - это баззворд, коий делали маркетологи

Нет, это у Вас перепутаны причина и следствие. Что не так?

я не понял - лисп есть следствие маркетологов, или то маркетологи есть следствие лиспа? таки уже просветите

shty ★★★★★
()
Ответ на: комментарий от shty

> лисп есть следствие маркетологов

маркетологи есть следствие лиспа?


Следствие суть быдлокодеры, такие, как Вы, например.

А причины Вам неподвластны, с этим надо просто смириться.

anonymous
()
Ответ на: комментарий от anonymous

ой-вей, сдаётся мене ребе шо Вы в предметной области - поц лущёный, ну да меня то не касается, живи как есть

shty ★★★★★
()
Ответ на: комментарий от anonymous

Таки да, шабесгоев высокие материи не касаются.

теперь я понял
отчего вчера
(в субботу)
молчалив ты был,
мой друг Горацио

:)

shty ★★★★★
()
Ответ на: комментарий от AIv

Я тоже кстати могу такое сделать на лиспе в 18 строк, тока тут места не хватит... но я начало строк приведу

((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

В принципе выразительность лиспа как раз и заключается в том, что любая задача может быть решена в 1 строку. На питоне так нельзя - там перевод строки это элемент синтаксиса;-)

AIv ★★★★★
()
Ответ на: комментарий от AIv

Он ничего не сказал о длине этих строк... Вы уверены что хотите загрузить эти 18Гб кода?;-)

ах да, мой фейл :) я теперь понял отчего он так спрашивал точно ли мне это надо

shty ★★★★★
()

Начни с TeamCity, Да, оно на java. Нет. тебе программинровать на java не придется (в мысле - а не пох ли начем написан CI сервер?)

malbolge ★★
()
Ответ на: комментарий от anonymous

Тыт приводят примеры кода и на 100 строк. Не покажешь ли нам сии «3 строчки» кода на лиспе? Это ведь так нетрудно.

malbolge ★★
()
Ответ на: комментарий от anonymous

>> ну что анон, яви систему CI об осмьнадцати строках, коли не врёшь

И какой мне с этого будет гешефт?

Да ты яви решение хоть одной задачи в трех строках %)

tailgunner ★★★★★
()
Ответ на: комментарий от shty

CI на печатной плате тоже сойдет.

Vit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.