hudson continuous integration tool tutorial selenium tutorial 25
В последните два урока от поредицата Selenium обсъдихме двата най-важни инструмента за изграждане - МРАВКА и Мейвън . Обсъдихме тяхното значение и практическо значение.
В предишния ни урок от поредицата DevOps научихме за Интеграция на Дженкинс със селен .
В текущата Урок за онлайн обучение за селен , бихме обсъдили a инструмент за непрекъсната интеграция, известен като Hudson .
Прочетете => Примерно ръководство за DevOps
Забележка: Този урок е част от Selenium, както и от поредицата от уроци за DevOps. Щракнете върху съответните връзки, за да отидете до съответната серия.
Бихме проучили значението и ползите, от които се извличаме всеки инструмент за непрекъсната интеграция . Бихме разгледали Hudson направо от самото начало, от инсталирането му до разширените настройки.
Какво ще научите:
- Непрекъсната интеграция
- Хъдсън - Инструмент за непрекъсната интеграция
- Инсталация на Хъдсън
- Конфигурация на Хъдсън
- Конфигуриране на известие по имейл
- Създаване на проекта Хъдсън
- Конфигуриране на проекта Hudson
- Конфигуриране на управление на изходния код
- Избиране на тригери за изграждане
- Извикване на стъпки за изграждане
- Конфигуриране на действия след изграждане
- Заключение
- Препоръчително четене
Непрекъсната интеграция
Много пъти в крайна сметка работим по проект, при който голям куп разработчици и тестери работят заедно по различни модули. Разработчиците и тестерите работят върху своите модули, като по този начин разработват изпълними файлове. След това тези работни продукти се интегрират на редовни интервали. По този начин всеки път, когато създаваме код за разработка, той трябва да бъде интегриран, тестван и изграден, за да се гарантира, че разработеният код не се счупва или не въвежда грешки или дефекти.
Този процес на изграждане и тестване на разработката, интегрирана на редовни интервали, е известен като Непрекъсната интеграция (CI) . Непрекъснатата интеграция ви позволява да идентифицирате и отстраните дефектите или грешките възможно най-скоро в жизнения цикъл на разработката, т.е. по-близо до времето, когато са били въведени.
Системата за непрекъсната интеграция изгражда и тества приложението веднага щом новият / променен код е ангажиран със съкращението на системата за управление на източника като SCM. Със своите големи предимства и въздействие върху индустриите, той се превърна в неразделна част от жизнения цикъл на разработката на софтуер и задължително се практикува.
Хъдсън - Инструмент за непрекъсната интеграция
Непрекъснатата интеграция може да се извърши автоматично. Hudson е един от популярните инструменти за извършване на непрекъсната интеграция. Hudson е инструмент за непрекъсната интеграция, базиран на Java. Както всеки друг инструмент за непрекъсната интеграция, Hudson предоставя на екипите да задействат компилации и тестове с всяка промяна в системата за управление на източника.
Hudson поддържа широка гама от инструменти и плъгини.
Хъдсън:
- Поддържа SCM инструменти като CVS, Subversion (SVN), Git и др.
- Може да изгражда ANT базирани проекти, базирани на Maven проекти и др.
- Може да изпълнява скриптове на обвивки и командни команди на Windows
- Може да изпраща отчети, известия и т.н. чрез имейл, SMS, Skype и др.
Инсталация на Хъдсън
Предварителни условия
За да можем да използваме Хъдсън, трябва да имаме следните неща, преди да започнем:
- Хранилище на изходния код (SVN / Git / CVS и т.н.)
- Изграждане на скрипт (Ant / Maven и др.)
Инсталация
Hudson може лесно да се инсталира в различни среди. Hudson може да бъде инсталиран както на Linux машина, така и на Windows машина. Той също се разпространява като пакет, специфичен за типа OS за различни вкусове на Linux, като по този начин прави инсталацията няколко минути задачи. Hudson може да се изпълнява като самостоятелно приложение или в контейнера за Servlet. В този урок ще обясним инсталирането на Hudson на машина с Windows. Има два различни подхода за инсталиране на Hudson.
- Използване на WAR файл
- Използване на Native Package
Нативните пакети са налични за Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS и openSUSE.
За този урок ще обсъдим инсталацията чрез WAR файл. Нека обсъдим целия процес стъпка по стъпка.
Етап 1 : Изтеглете файла HAR WAR от официалния уебсайт на Hudson - „ http://hudson-ci.org/ ”. Дръжте военния файл на желаното място в локалната файлова система. Този WAR файл може да се стартира директно чрез командния ред или може да се използва в контейнера на Servlet. WAR е изпълним файл, който има вграден контейнер за сървлети.
Стъпка 2 : Следващата стъпка е да се инициализира уеб потребителският интерфейс на Hudson. За целта трябва да отворим командния ред и да отидем в папката, в която се води войната на Хъдсън.
- Напишете java -jar hudson-3.0.1.war –httpPort = 8099
Горната команда ще покаже, че първоначалната настройка е необходима на таблото за управление на Hudson. Вижте екрана по-долу.
(Щракнете, за да увеличите изображението)
Забележка: Препоръчително е да стартирате Hudson като услуга на Windows или Linux машина.
Стъпка 3 : За да имате достъп до прозореца на Hudson, отворете браузъра си и стартирайте Hudson.
- Въведете “http: // localhost: 8099 /” - Това ще отвори прозореца на Хъдсън.
(Щракнете, за да увеличите изображението)
Стъпка 4 : Изберете желаните приставки и кликнете върху бутона Finish. Моля, бъдете търпеливи, тъй като е вероятно да отнеме няколко минути, за да инсталирате всички приставки.
Забележка : Има няколко опции за осигуряване на поддръжка за SCM. Отметнете опцията SCM, която искате да използвате.
След като всички плъгини са инсталирани, потребителят може да прегледа таблото за управление на Hudson.
Конфигурация на Хъдсън
След като таблото за управление на Hudson е готово, следващата стъпка е да конфигурирате Hudson. Нека отново обсъдим целия процес на стъпки:
Етап 1 : За да конфигурирате Hudson, щракнете върху връзката „Управление на Hudson“, показана в лявото меню.
Стъпка 2 : Щракнете върху връзката „Конфигуриране на системата“ в следващата стъпка. Вижте следната екранна снимка.
Стъпка 3 : Веднага щом щракнете върху връзката Конфигуриране на системата, ще трябва да има много раздели за параметрите на връзката. Добавете запис към JDK, както е показано на следващата фигура. Потребителят трябва да предостави името на инсталацията на JDK и местоположението, където е инсталирана java. Могат да се добавят повече от един екземпляр на Java.
Потребителят може също да инсталира JDK автоматично, като постави отметка в квадратчето „Инсталирай автоматично“.
Стъпка 4 : В следващата стъпка добавете запис към Ant, както е показано на следващата фигура. Потребителят трябва да предостави името на инсталацията на Ant и местоположението, където Ant е инсталиран локално.
Подобно на JDK и Ant, потребителят може да конфигурира други параметри на връзката.
Забележка : Винаги не забравяйте да премахнете отметката от квадратчето „Инсталирай автоматично“. Полето за отметка трябва да бъде поставено в случай, че искате да изтеглите артефакта от интернет.
Конфигуриране на известие по имейл
Разделът за известия по имейл е показан в края на същата уеб страница. Потребителят трябва да конфигурира следните полета:
Кликнете върху разширен бутон, за да видите всички опции, свързани с Известяване по имейл.
- SMTP сървър: SMTP сървърът съхранява информацията за SMTP сървъра, т.е. IP номера или напълно квалифицираното име на сървъра. За демонстрация в този урок ще използваме SMTP сървъра на Gmail.
- Суфикс на имейл по подразбиране на потребителя : В това поле може да се предостави суфикс на имейл, който може да бъде суфикс с потребителското име и може да се използва за изпращане на известие по имейл.
- Имейл адрес на системния администратор : Администраторен имейл адрес се използва като имейл адрес на подателя, от който ще бъдат изпратени всички известия.
- URL адрес на Hudson : Ако е вероятно да публикувате отчети или да изграждате информация в Известието по имейл, тогава трябва да се предостави URL адресът на Хъдсън. URL адресът на Хъдсън ще се използва за достъп до отчетите. Трябва да се предостави валиден URL адрес, обаче, ако всички приемници са свързани към интранет, тогава може да се предостави и IP адресът на машината, хостваща Hudson.
- Използвайте SMTP удостоверяване : Активирането на тази опция позволява полето за потребителско име и парола да се показват с цел удостоверяване.
- Използвайте SS L: Потребителят може да активира SSL, като избере тази опция, за да се свърже със SMTP сървъра.
- SMTP порт: Потребителят трябва да предостави номера на порта в това поле, който се използва за комуникация с пощенския сървър. Ако не са посочени номера на портове, се присвояват номерата на портовете по подразбиране.
- Шарсет : Това поле указва набора от символи, използван за съставяне на имейли.
Както вече споменахме, че ще използваме пощенския сървър на Gmail за изпращане на известия по имейл в този урок, направете справка със следните екранни снимки и направете необходимите промени в раздела за известия по имейл.
Щракнете върху бутона Save, за да запазите всички нововъведени промени.
Създаване на проекта Хъдсън
След като инсталирахме и конфигурирахме Hudson на нашите машини, ще продължим напред и ще създадем Hudson Projects. Подобно на конфигурацията на Хъдсън, имаме няколко опции за конфигуриране за проект на Хъдсън. В този урок бихме хвърлили светлина върху най-полезните и популярни опции и разширения.
За да създадете и конфигурирате нов проект Hudson, следвайте стъпките напред:
Щракнете върху опцията „Нова работа“, показана в лявото меню. Ще се отвори следващата страница, която показва опциите, свързани със създаването на проекти и стиловете на проекта.
Има многобройни стилове, в които може да се създаде проект / работа. Обърнете внимание, че проектът и работата могат да се използват взаимозаменяемо, тъй като и двете са склонни да означават едно и също нещо.
- Създайте софтуер за свободен стил jo b: Това е най-често използваният метод за създаване на нова работа на Hudson.
- Изградете мултиконфигурационна работа : Този стил на проекта се използва за изпълнение на различни задачи.
- Наблюдавайте външна работа : Този стил на проекта следи външна работа.
- Копирайте съществуваща работа : В случай, че имаме проект, подобен на съществуващ, тогава този стил може да бъде полезен. Всичко, което трябва да направите, е да посочите името на съществуващата работа и ще бъде създадена репликата на тази работа.
За този урок обаче бихме създали проект за свободен стил Хъдсън. Въведете името на заданието, което искате да създадете, и кликнете върху бутона OK. Кликването върху OK ще ви отведе до страницата за конфигуриране на заданието, както е показано по-долу:
Конфигуриране на проекта Hudson
След като създадохме работата на Хъдсън, е време да я конфигурираме. Подобно на конфигурацията на Hudson, Hudson Job също има различни настройки за конфигурация. Нека обсъдим важните тук.
По-конкретно, има шест типа настройки за конфигуриране на задание:
- Общи настройки за работа : Този раздел позволява на потребителя да спомене основната информация за заданието. Потребителят може да изпрати описанието на работата, да деактивира заданието, да параметризира заданието, да развали по-старите компилации и да изпълни едновременно повече от една компилация за една и съща работа.
- Разширени опции за работа : Този раздел позволява на потребителя да конфигурира някои разширени опции.
- Управление на изходния код : Разделът ви позволява да предоставите настройките, свързани със системата за управление на изходния код. Изберете „None“, ако не се използва SCM. Обърнете внимание, че потребителят ще може да вижда само онези SCM опции, чийто плъгин е инсталиран по време на инсталацията на Hudson. За да добави още SCM към Hudson, потребителят може да посети страницата Управление на приставки и да инсталира необходимите приставки.
- Изграждане на тригери : Този раздел позволява на потребителя да реши как да започне изпълнението на компилацията.
- Изграждане : Този раздел позволява на потребителя да предостави настройките на механизма за изграждане.
- Действия след изграждане : Този раздел позволява на потребителя да предоставя настройки за действията след компилация, които ще бъдат изпълнени, след като изпълнението на компилацията е завършено.
Нека направим крачка напред и конфигурираме заданието с необходимите настройки. Потребителят може да остави опциите под „Общи настройки на заданието“ и „Разширени опции за работа“ до състоянието им по подразбиране.
Конфигуриране на управление на изходния код
Говорихме много за създаването на проект Хъдсън в горните раздели на този урок. Проектът Хъдсън обикновено се използва с действителен проект (изходен код), който е свързан с определена система за управление на изходния код. Както бе споменато в началото на този урок, Хъдсън има голяма подкрепа за различни SCM. За да назовем само няколко, Hudson поддържа CVS, Git, SVN и т.н. По този начин в този урок ще конфигурираме Subversion (SVN) като SCM.
Етап 1 : Изберете опцията “Subversion”. Веднага след като потребителят избере Subversion, ще се появят следните опции.
Стъпка 2: Следващата стъпка е да предоставите „URL адреса на хранилището“ на SVN. Тъй като създадох локално хранилище, бих предоставил URL адрес на локално хранилище. Локално хранилище може да бъде създадено с помощта на Tortoise SVN.
как да стартирам .jar файлове
Запазете всички останали настройки в този раздел по подразбиране.
Избиране на тригери за изграждане
Следващата стъпка е да конфигурирате тригерите за изграждане. Hudson ви позволява да задавате тригери, за да инициирате автоматично процеса на изпълнение на компилацията. Потребителят може да конфигурира заданието да се изгражда автоматично, ако е изграден друг проект / задание. Алтернативно, потребителят може също така да настрои компилацията да се изпълнява периодично, т.е. да планира изпълнението на компилацията или потребителят може също да насрочи компилация, за да търси нови ангажименти в SCM и да задейства изпълнение, ако някой от потребителите може също да настрои да инициира изпълнението на компилацията, когато има актуализация в зависимостите на maven, при условие че вашият проект е проект, базиран на Maven.
За да зададете тези опции, трябва само да изберете желания спусък за изграждане. Потребителят също така може да използва повече от една опция наведнъж.
Докато избира някой от горните задействания, потребителят може да се наложи да предостави допълнителна информация, специфична за типа задействане.
- Изграждане след изграждане на други задачи: Трябва да се спомене името на заданията, които могат да задействат изпълнението на тази работа.
- Изграждайте периодично: Графикът трябва да бъде споменат. Има специфичен протокол, който трябва да се спазва, за да се спомене графика. Повече информация за Графика е показана по-долу:
- Анкета SCM: Потребителят трябва да посочи графика. Полето действа същото като това на „Периодично изграждане“.
- Изграждане, когато зависимостите на Maven са актуализирани чрез интеграция на Maven 3: Този раздел не изисква подаване на никакви данни.
Повече информация можете да намерите, като разширите иконите за помощ.
Ако потребителят не желае да задава някой от тези тригери за компилация, той / тя може да реши да създаде задачата / проекта ръчно. Всичко, което той / тя трябва да направи, е да кликне върху връзката „Изграждане сега“, показана в лявото меню.
Извикване на стъпки за изграждане
След като видяхме всички основни стъпки за конфигуриране на проект за изграждане, нека продължим напред и да добавим още няколко стъпки за изграждане. Този раздел позволява на потребителя да дефинира своето изграждане с множество стъпки за изграждане.
Всяка от стъпките за изграждане има своя собствена конвенция за дефиниране и извикване.
Например, разгледайте ANT извикването по-долу:
Конфигуриране на действия след изграждане
Понякога става необходимо, както и жизненоважно да се извършват определени действия след изграждане. Действията след компилация не са нищо друго, освен някои действия, които се задействат след изпълнението на компилацията. Потребителят може да използва повече от едно действие след изграждане, ако желае.
Както всички знаем, че състоянията и отчетите за изпълнение на компилацията са един от най-важните артефакти или критерии за изход за жизнения цикъл на разработката на софтуер. Следователно, Hudson ви позволява да публикувате отчет за изпълнението на компилацията, да генерирате документация, да генерирате изпълними файлове / архиви и т.н.
Докладите за изпълнение на теста могат да бъдат публикувани и изпращани до заинтересованите страни по имейл. Резултатите от тази компилация могат да предизвикат изпълнението на друга компилация.
Действията след изграждане са много, нека отделим малко време, за да обсъдим най-основните.
# 1. Обобщаване на резултатите от теста надолу по веригата - Настройката позволява на потребителя да агрегира резултатите от тестовото изпълнение на тази работа и задачите надолу по веригата, за да генерира по-въздействащи резултати от теста. Всичко, което потребителят трябва да направи, е да предостави името на долната работа. В случай, че ако потребителят не желае да предостави никаква работа надолу по веригата, но все пак желае да използва настройката, той може да насочи Hudson да намери всички проекти надолу по веригата.
# 2. Записвайте пръстови отпечатъци на файлове, за да проследявате използването - Настройката може да се използва от потребителя, за да проследи къде е бил използван определен файл.
# 3. Публикувайте отчета за резултатите от теста на JUnit - Настройката позволява на потребителя да публикува отчета за теста на JUnit, като прочете и разбере персонализирания отчет, генериран от JUnit. Отчетът за резултатите от теста JUnit предоставя на потребителя уеб интерфейс за преглед на създадените отчети. Тези отчети могат да бъдат изпращани по имейл до заинтересованите страни. За да активирате тази опция, от всички потребители се изисква да предоставят пътя към персонализирания отчет, генериран от JUnit.
# 4. Архивирайте артефактите - Тази настройка позволява на потребителя да създава артефакти, които могат да се разпространяват за по-нататъшна употреба. Артефактът може да бъде произведен след всяко успешно изграждане. Тези артефакти могат да бъдат достъпни директно от потребителя през уеб интерфейса. Артефактите могат да бъдат изпълними файлове под формата на военни файлове, jar файлове, папки с цип или катран.
# 5. Публикувайте Javadoc - Тази настройка ви позволява да публикувате java doc на клиенти и потребители в уеб интерфейса на Hudson, при условие че вашият проект генерира java doc. За да активирате тази опция, потребителят трябва да предостави местоположението на Java Doc срещу директорията Javadoc.
Ако потребителят постави отметка, за да маркира опцията „Запазване на Javadoc за всяка успешна компилация“, новогенерираният Javadoc ще бъде запазен в посочената папка. По този начин всички Javadocs, съответстващи на успешната компилация, ще бъдат поддържани.
# 6. Изграждане на други работни места - Настройката позволява на потребителя да задейства изпълнението на други задачи, след като тази задача бъде изпълнена. Потребителят може да задейства изпълнение на повече от едно задание едновременно. Настройката може да бъде полезна за изпълнение на сценарии за модулен тест и тест за интеграция. Потребителят дори може да зададе опцията за изграждане на други задачи, дори ако тази задача се провали (нестабилна).
# 7. Публикувайте доклад за покритието на Cobertura - Cobertura е Java базиран инструмент за тестване, който анализира покритието на кода на вашия проект, т.е. оценява процента на кода, обхванат от тестовете. По този начин настройката позволява на потребителя да генерира отчет с анализ на покритието на кода. Настройката изисква да бъдат предоставени няколко параметъра, преди да можете да получите пълноценен доклад за тестване на покритието на кода. Обърнете внимание, че тази настройка не идва по подразбиране, т.е. изисква инсталиране на приставка (което направихме по време на инсталирането, тъй като обикновено е част от предложените приставки).
(Щракнете върху изображението, за да го увеличите)
# 8. Известие по имейл - Известяването по имейл е едно от най-важните действия след изграждането. Опцията позволява на потребителя да изпраща имейл за уведомяване за компилация до заинтересованите страни (разработчици, тестери, собственици на продукти и т.н.), като конфигурира своите имейл идентификатори. Hudson може да изпраща имейла, когато компилацията е нестабилна, успешна, неуспешна и т.н. Потребителят може също да зададе задействания за известяване по имейл. Известието по имейл може да бъде изпратено до повече от един получател едновременно, само като се предостави празно пространство между техните имейл идентификатори. Вижте екранната снимка по-долу, за да проверите как могат да бъдат предоставени тези настройки.
(Щракнете върху изображението, за да го увеличите)
Бележки:
- Потребителят може по всяко време да се върне на тази страница и да промени настройките, ако е необходимо.
- Потребителят може да преглежда информацията за всяка опция в иконата за помощ, свързана с нея.
- Потребителят може да добавя още действия след изграждане с помощта на приставки.
Заключение
В този урок ви запознахме с концепцията за непрекъсната интеграция. Също така подчертахме значението му по време на жизнения цикъл на разработката на софтуер, особено в живота на разработчика или тестера.
Следващ урок # 26 : Продължавайки напред в поредицата, бихме го направили обсъдете някои разширени концепции за селен това би помогнало пряко или косвено за оптимизиране на рамката за автоматизация и ще донесе повече видимост на потребителите. По този начин в следващия урок ще обсъдим функцията за регистриране, нейния потенциал, възможности за отстраняване на грешки и много други.
Забележка: Този урок е част от Selenium, както и от поредицата от уроци за DevOps. Щракнете върху връзката по-долу за предишни и следващи уроци от поредицата DevOps.
Препоръчително четене
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Уроци за задълбочено затъмнение за начинаещи
- Интеграция на селен с JMeter
- Автоматизирано тестване с помощта на инструмент за краставици и селен - Урок № 30
- Spock за интеграция и функционални тестове със селен
- Използване на инструмента за автоматизация на изграждането на Maven и настройката на проекта на Maven за селен - селен урок # 24
- Интеграция на Jenkins с Selenium WebDriver: Урок стъпка по стъпка
- Въведение в Selenium WebDriver - Урок № 8 за селен