Programmēšana

Nepārtraukta integrācija ar Hadsonu

Nepārtraukta integrācija ir kļuvusi par ierastu praksi komandām, kas koncentrējas uz koda kvalitātes nodrošināšanu visā programmatūras izstrādes dzīves ciklā. Šajā rakstā Nicholas Whitehead iepazīstina ar Hadsonu, populāru atvērtā koda CI serveri. Uzziniet, kā iestatīt Hadsona serveri lietojumprogrammu izstrādes vidē (piemēri sniegti operētājsistēmai Windows XP ar Tomcat 6 vai Ubuntu Linux ar JBoss AS), iegūstiet pārskatu par daudzajām Hudzona piedāvātajām konfigurācijas opcijām, pēc tam ieviešiet automatizētu veidošanu, testēšanu, un ziņošanas process projekta paraugam. Līmenis: iesācējs

Nepārtraukta integrācija (CI) ir prakses kopums, kas paredzēts, lai atvieglotu un stabilizētu programmatūras būvējumu izveidošanas procesu. CI palīdz attīstības komandām ar šādām problēmām:

  • Programmatūras veidošanas automatizācija: Izmantojot CI, varat sākt programmatūras artefakta izveides procesu, nospiežot pogu, iepriekš noteiktu grafiku vai atbildot uz noteiktu notikumu. Ja vēlaties izveidot programmatūras artefaktu no avota, jūsu veidošanas process nav saistīts ar konkrētu IDE, datoru vai personu.
  • Nepārtraukta automatizēta būvniecības verifikācija: KI sistēmu var konfigurēt, lai pastāvīgi izpildītu būvējumus, reģistrējoties jaunam vai modificētam avota kodam. Tas nozīmē, ka, kamēr programmatūras izstrādātāju komanda periodiski pārbauda jaunu vai modificētu kodu, KI sistēma nepārtraukti pārbauda, ​​vai būvējums netiek bojāts ar jauno kodu. Tas samazina izstrādātāju nepieciešamību savstarpēji pārbaudīt savstarpēji atkarīgo komponentu izmaiņas.
  • Nepārtraukta automatizēta būvniecības testēšana: Izbūves verifikācijas paplašinājums, šis process nodrošina, ka jauns vai modificēts kods neizraisa iebūvēto artefaktu iepriekš noteiktu testu kopu. Gan būvējuma verifikācijā, gan testēšanā kļūmes var izraisīt paziņojumus ieinteresētajām pusēm, norādot, ka būvēšana vai daži testi ir izgāzušies.
  • Post-build procedūru automatizācija: Programmatūras artefakta būvēšanas dzīves ciklam var būt nepieciešami arī papildu uzdevumi, kurus var automatizēt, tiklīdz būves verifikācija un testēšana ir pabeigta, piemēram, dokumentācijas ģenerēšana, programmatūras iesaiņošana un artefaktu izvietošana darbības vidē vai programmatūras krātuvē. Tādā veidā artefaktus var ātri padarīt pieejamus lietotājiem.

Lai ieviestu CI serveri, jums ir nepieciešama vismaz pieejama avota kodu krātuve (un tajā esošais pirmkods), būvniecības skriptu un procedūru kopums un testu komplekts, lai izpildītu iebūvētos artefaktus. 1. attēlā ir parādīta KI sistēmas galvenā struktūra.

Sistēmas komponenti darbojas šādā secībā:

  1. Izstrādātāji pārbauda jauno un modificēto kodu pirmkodu krātuvē.
  2. KI serveris katram projektam izveido īpašu darbvietu. Kad tiek pieprasīts vai ieplānots jauns būvējums, avots tiek izgūts no repozitorija šajā darbvietā, kur pēc tam tiek izpildīts.
  3. KI serveris izpilda jaunizveidotās vai atsvaidzinātās darbvietas veidošanas procesu.
  4. Kad būvēšana ir pabeigta, CI serveris var pēc izvēles izsaukt definēto testa komplektu jaunajiem artefaktiem. Ja būvēšana neizdodas, reģistrētām personām var paziņot pa e-pastu, tūlītējo ziņojumapmaiņu vai kādu citu metodi.
  5. Ja būvēšana ir veiksmīga, artefakti tiek iesaiņoti un nosūtīti izvietošanas mērķim (piemēram, lietojumprogrammu serverim) un / vai programmatūras krātuvē tiek saglabāti kā jauns versijas artefakts. Šis repozitorijs var būt daļa no CI servera vai var būt ārējs krātuve, piemēram, failu serveris vai programmatūras izplatīšanas vietne, piemēram, Java.net vai SourceForge. Pirmkodu repozitorijs un artefaktu repozitorijs var būt atsevišķi, un faktiski ir iespējams izmantot dažus CI serverus bez formālas avota kontroles sistēmas vispār.
  6. KI serveros parasti ir sava veida konsole, kurā var konfigurēt un atkļūdot projektus, un kur var izsniegt pieprasījumus par tādām darbībām kā ad hoc tūlītēja būvēšana, atskaišu ģenerēšana vai uzbūvēto artefaktu izguve.

Hadsons: nepārtrauktas integrācijas serveris

Pēdējo vairāku gadu laikā nepārtrauktas integrācijas popularitāte ir pieaugusi, un šodien jums ir diezgan daudz KI serveru, no kuriem izvēlēties gan komerciālus, gan bezmaksas. Es personīgi biju izmantojis četrus CI serverus, pirms kolēģis ieteica man paskatīties uz Hadsonu. Tas mani uzreiz iespaidoja. Lai gan sākotnēji es pieņēmu, ka Hadsons nav labi pazīstams, Java Power Tools vietnē veiktā aptauja parāda, ka tas ir respondentu vidū visplašāk izmantotais CI serveris, kurš (šī rakstīšanas laikā) ieguva 37,8 procentus visu balsu.

Atbalstītie SCM

Hudsons ir iebūvējis atbalstu Subversion tieši no kastes, un integrēšanai ar CVS ir nepieciešama tikai neliela konfigurācijas daļa, pieņemot, ka Hadsona resursdatorā ir instalēts CVS klients. Hudzona spraudņu veidā tiek atbalstīti vairāki citi pirmkodu pārvaldības (SCM) risinājumi. Šīs rakstīšanas laikā tiek atbalstīti šādi SCM:

  • Accurev
  • BitKeeper
  • ClearCase
  • Git
  • Merkurāls
  • Piespiedu spēks
  • StartTeam
  • Team Foundation Server
  • Visual SourceSafe
  • URL SCM (īpašs SCM spraudnis, kas ļauj URL izmantot SCM)

Šajā rakstā es izmantošu Subversion un Java.net avota krātuvi, tāpēc jums nebūs jāinstalē neviens no šiem spraudņiem. (Malā es zinu kādu, kurš strādā pie MKS SourceIntegrity Hudson spraudņa. Ja tas jūs interesē, nosūtiet man e-pastu.)

Hudsons ir bezmaksas un atvērta pirmkoda produkts, kas tiek mitināts vietnē Java.net. Sākotnēji to rakstīja Sun Microsystems personāla inženieris Kohsuke Kavaguchi, kurš paziņoja par tā izlaišanu savā emuārā 2005. gada februārī. Kopš tā laika Hudsons ir izlaidis aptuveni 154 laidienus.

Šeit ir daži iemesli, kāpēc man patīk Hadsons un kāpēc es to ieteiktu jums, neļaujot neparastām prasībām:

  • No visiem manis izmantotajiem KI produktiem to ir visvieglāk instalēt un konfigurēt.
  • Tās tīmekļa lietotāja saskarnes ir ļoti draudzīgas, intuitīvas un atsaucīgas, daudzos gadījumos sniedzot tūlītēju atgriezenisko saiti ar Ajax, izmantojot atsevišķus konfigurācijas laukus.
  • Hudsons ir balstīts uz Java (kas ir noderīgi, ja esat Java izstrādātājs), bet neaprobežojas tikai ar Java balstītas programmatūras izveidi.
  • Hudsons ir tīri komponēts un piedāvā labi definētu un dokumentētu paplašināmības API Hudzona spraudņu veidā. Tas savukārt ir radījis lielu Hudsona spraudņu bibliotēku, kas paplašina servera funkcionalitāti; tie ir brīvi pieejami un instalējami Hudson konsolē.

Hudsona instalēšana: Windows XP vai Ubuntu Linux

Lai izmantotu Hadsonu, jums būs nepieciešama pieejama un atbalstīta avota vadības sistēma (sarakstu skatiet sānjoslā "Atbalstītās SCM"), avots, kuru var iebūvēt artefaktā, un darbīgs veidošanas skripts. Papildus tam viss, kas jums patiešām nepieciešams, lai instalētu un konfigurētu strādājošu Hudsona serveri, ir Java instalēšana, versija 1.5 vai jaunāka, un Hadsona instalācijas fails, kas nāk Java EE tīmekļa arhīva (WAR) formā. Serveri var sākt ļoti vienkārši, izmantojot šādu komandrindu:

C: \ hudson> java -jar hudson.war

Tomēr, iespējams, biežāk Hudsons tiek izvietots Java servletīklā, kas balstīts uz Servlet 2.4 un JSP 2.0 specifikācijām, piemēram, GlassFish, Tomcat, JBoss vai Jetty. Nākamajās sadaļās es iepazīstināšu jūs ar diviem Hadsona instalēšanas scenārijiem: vienu, izmantojot Tomcat 6 operētājsistēmā Windows XP, un otru, izmantojot JBoss 4.2.3 operētājsistēmā Ubuntu Linux. (JBoss AS 5.0 tika izlaists pēc šī raksta iesniegšanas datuma.)

Hudsona instalēšana: Tomcat 6 un Windows XP

Es pieņemu, ka jūsu Windows XP datorā jau ir instalēta Java versija 1.5 vai jaunāka. Veicot tālāk norādītās darbības, Tomcat 6.0.18 tiks instalēts, izmantojot Windows Service Installer, lai Hadsons sāktu darboties uzreiz pēc Windows XP palaišanas un darbotos fonā, pat ja neviens lietotājs nav pieteicies. Tomcat lejupielādes fails ir apache-tomcat- 6.0.18.exe, kas jums jāizpilda, lai sāktu Tomcat instalēšanu.

Tomcat instalācija liks jums izvēlēties instalēšanas opcijas. Noteikti atlasiet Pielāgots opcijas un pēc tam apkalpošana, kā parādīts 2. attēlā, lai Tomcat darbotos kā pakalpojums.

Pēc tam atlasiet direktoriju, kurā vēlaties instalēt Tomcat, kā parādīts 3. attēlā. Es ļoti iesaku izvēlēties direktoriju bez atstarpēm. Jūs varat man pateikties vēlāk.

Tagad instalētājs jautās, kurā portā vēlaties klausīties. Noklusējums ir ports 8080, kas, iespējams, ir kārtībā; vienkārši pārliecinieties, ka jums nav citas lietojumprogrammas, kas izmantotu šo portu. Ja jūs to izdarīsit, Tomcat nedarbosies pareizi. Jums tiks lūgts norādīt arī Tomcat administratora lietotājvārdu un paroli. Tas viss parādīts 4. attēlā.

Pēc tam instalētājs lūgs norādīt instalētās Java JRE atrašanās vietu. Kā redzat 5. attēlā, es izmantoju Sun Java 1.6.0_07.

Kad esat noklikšķinājis Uzstādīt, instalēšanai vajadzētu būt pabeigtai, un pakalpojums sāks darboties. Jūs varat pārliecināties, ka Tomcat darbojas pareizi, norādot tīmekļa pārlūkprogrammā uz // localhost: 8080 (ja vietnei Localhost aizstājat atbilstošo nosaukumu vai IP adresi, ja neizmantojat tīmekļa pārlūkprogrammu, kas darbojas datorā, kurā ir instalēts Tomcat). Parādītajai tīmekļa lapai vajadzētu izskatīties kā 6. attēlā redzamais ekrānuzņēmums.

Tagad, lai instalētu Hudsonu, nokopējiet failu hudson.war sava Tomcat instalācijas direktorija Webapps apakšdirektorijā. Ja izmantojāt to pašu instalēšanas direktoriju, kas parādīts 3. attēlā, tas būtu C: \ Tomcat6 \ webapps. Tomcat karstā veidā izvietos WAR failus, taču visvieglāk tagad ir restartēt Tomcat. To var izdarīt divējādi. Pirmais ir atvērt DOS apvalku un ievadīt šādas komandas:

 C: \ Tomcat6> tīkla apturēšana Tomcat6 C: \ Tomcat6> tīkla sākšana Tomcat6

Otra iespēja ir atvērt sīklietotni Pakalpojumi. Šo sīklietotni var atrast vadības paneļa grupā Administratīvie rīki, kuru var atrast, Windows rīkjoslā noklikšķinot uz pogas Sākt un pēc tam atlasot Iestatījumi un tad Vadības panelis. Paketē Pakalpojumi atrodiet nosaukto pakalpojumu Apache Tomcat un pēc tam noklikšķiniet uz Restartēt pogu. Tas ir parādīts 7. attēlā.

Tagad Hudsons būtu jāinstalē. To var pārbaudīt, norādot tīmekļa pārlūkprogrammā uz // localhost: 8080 / hudson. Galvenais Hadsona ekrāns parādīts 8. attēlā.

Tas viss ir pie tā! Ja jums patīk lietojumprogrammu izstrādes vide, kuras pamatā ir Windows XP un Tomcat, viss ir iestatīts. Ja vēlaties sistēmu, kurā darbojas JBoss un Ubuntu Linux, lasiet tālāk.

Hudsona: JBoss 4.2.3 instalēšana Ubuntu Linux 8.04 (Hardijs Herons)

Lai Ubuntu instalētu Sun Java 1.6, atveriet čaulu un izpildiet šādu komandu:

 sudo apt-get instalēt sun-java6-jdk

Izsniedzot a sudo komandu, jums tiks piedāvāts ievadīt paroli.

Ņemiet vērā, ka JBoss var instalēt vairākos veidos; šeit aprakstītajā tehnikā jūs izveidosiet īpašu jboss lietotājs. Tas tiek uzskatīts par labāko praksi, un tas ir vēlams, nekā instalēt JBoss savā mājas direktorijā. Šeit izklāstītā procedūra ir saīsināta no noderīga apraksta Ubuntu forumos.

Pirmkārt, jums jāielādē JBoss 4.2.3.GA pakotne. Meklējiet failu ar nosaukumu jboss-4.2.3.GA.zip.

Pēc tam jums būs jāizveido lietotājs, mājas katalogs un grupa, kas visi nosaukti jboss. Grupa ir ērtības, kas nav izpētītas šajā rakstā; tas ļaus jums paplašināt JBoss privilēģijas citiem lietotājiem jūsu Ubuntu serverī.

1. sarakstā tiek parādītas komentētās komandas, lai izveidotu jboss mājas direktoriju, lietotāju un grupu un pēc tam instalējiet JBoss serveri. Dažām komandām ir pievienots prefikss sudo jo tās ir root privileģētas komandas.

Uzskaitīšana 1. jboss konta izveide un servera instalēšana

echo Izveidojiet jboss grupu sudo groupadd jboss echo Izveidojiet jboss lietotāju, definējiet bash kā lietotāja noklusējuma apvalku un / home / jboss kā mājas direktorijas atbalss un izveidojiet lietotāja jboss grupas jboss sudo useradd -s / bin / bash - d / home / jboss -m -g jboss jboss echo Kopējiet jboss-4.2.3.GA failu uz / home / jboss vai lejupielādējiet tieši šajā direktorijā sudo mv jboss-4.2.3.GA / home / jboss echo Mainīt īpašnieku faila failam jboss sudo chown jboss: jboss /home/jboss/jboss-4.2.3.GA atbalss Piesakieties jboss kontā sudo su jboss echo Dodieties uz jboss mājas direktoriju cd ~ echo Atvienojiet failu jboss-4.2.3. GA unzip jboss-4.2.3.GA atbalss Izveidojiet simbolisku saiti "jboss" vietnei "jboss-4.2.3.GA". echo Tas ļauj mainīt JBoss versijas ar minimālām izmaiņām ln -s jboss-4.2.3.GA jboss

Ja unzip komanda vēl nav instalēta, ievadiet šo komandu (kamēr esat pieteicies kā sudo iespējots lietotājs), lai to instalētu:

Sudo apt-get instalējiet unzip

JBoss serveris tagad būtībā ir instalēts. Serveri var sākt, izmantojot šādu komandu:

/home/jboss/jboss/bin/run.sh

Tomēr šajā piemērā jūs tā vietā instalēsit automātiskās palaišanas skriptu, lai pakalpojums automātiski startētu, kad sāk darboties resursdators. JBoss lejupielādei ir trīs dažādi int.d skripti, taču katrs no tiem ir jāpielāgo; jūs varat lejupielādēt skriptu jboss-init.sh, kas ļaus automātiski sākt un apturēt serveri. Pēc tam izpildiet komandas, kas parādītas 2. sarakstā.

$config[zx-auto] not found$config[zx-overlay] not found