SlideShare a Scribd company logo
1 of 12
Download to read offline
У.Оргил	
  	
  	
  
orgil.u@gmail.com	
  




                        2012.04	
  
¡  Зөвхөн	
  програм	
  бүрэн	
  ажиллаж	
  байгааг	
  
    нягтлахад	
  маш	
  их	
  цаг	
  зарцуулдаг	
  
¡  Төсөл	
  томрох	
  тусам	
  улам	
  бүр	
  комплекс	
  
    болж	
  integration	
  хийх	
  нь	
  маш	
  их	
  цаг	
  авдаг.	
  	
  
¡  Програмын	
  алдааг	
  олоход	
  удаан	
  хугацаа	
  
    зарцуулдаг	
  

¡  Эдгээр	
  хүндрэлийг	
  багасгахад	
  туслах	
  
   аргачилал	
  нь	
  continuous	
  integration	
  юм.	
  
¡  Аgile	
  development-­‐ын	
  орчинд	
  програмын	
  
  хөгжүүлэлтийн	
  явцыг	
  байнгын	
  хяналтанд	
  
  байлгаж	
  кодын	
  чанарт	
  хяналт	
  тавих	
  
  аргачилал	
  юм.	
  
¡  Алдааг	
  эрт	
  илрүүлнэ	
  
¡  Хүний	
  оролцоог	
  багасгаж	
  хяналтыг	
  
    автоматжуулна	
  
¡  Өөрчлөлт	
  бүрт	
  код	
  анализ	
  тайлан	
  гаргана	
  
¡  Unit	
  test	
  ажиллуулна	
  
¡  Тухай	
  бүрт	
  нь	
  кодын	
  API	
  баримтжуулалтыг	
  
    хийнэ	
  
¡  Хөгжүүлэгч	
  хоорондын	
  итгэлцэл	
  
¡  Сервэр	
  дээр	
  build	
  tool	
  суурилна.	
  
¡  Build	
  tool	
  нь	
  XML	
  хэлбэрээр	
  
  тодорхойлогдсон	
  код	
  анализ	
  болон	
  
  үйлдлүүдийн	
  дарааллыг	
  агуулна.	
  

¡  Сервергүйгээр	
  дангаараа	
  build	
  tool	
  
  ажиллах	
  боломжтой.	
  
¡    Сервер	
  
             §    Jenkins	
  /	
  Hudson	
  –	
  300	
  гаруй	
  нэмэлт	
  
             §    Cruise	
  Control	
  
             §    Phpundercontrol	
  
             §    Travis	
  

       ¡    Build	
  tools	
  
             §  Apache	
  Ant	
  
             §  Maven	
  
             §  Phing	
  
	
  
¡  Хувилбар	
  удирдах	
  систем	
  дэх	
  өөрчлөлтийг	
  
    Continuous	
  Integration	
  сервер	
  мэдэрнэ.	
  
¡  Build	
  tool	
  нь	
  хяналтын	
  багажуудыг	
  
    ажиллуулж	
  кодын	
  өөрчлөлт	
  болон	
  нийт	
  
    код	
  дээр	
  анализ	
  хийнэ	
  
¡  Бусад	
  тохируулсан	
  автомат	
  үйлдлүүдийг	
  
    хийнэ.	
  
¡  Кодын	
  чанар,	
  алдаа	
  гэх	
  мэт	
  үр	
  дүнг	
  
    хөгжүүлэгчид	
  мэдэгдэнэ.	
  
¡  Coding	
  convention	
  буюу	
  кодын	
  стандартад	
  
           хяналт	
  тавина	
  
       ¡  Кодын	
  модуль	
  хоорондын	
  хамаарлыг	
  
           тодорхойлно	
  
       ¡  DRY	
  эсэхийг	
  шалгана	
  
       ¡  Тест	
  ажиллуулж	
  тайлан	
  гаргана	
  
       ¡  Code	
  coverage	
  буюу	
  тест	
  кодын	
  хоорондын	
  
           хамаарлыг	
  гаргана	
  
	
  
¡  Тохируулж	
  өгсөн	
  бусад	
  үйлдлүүд	
  

¡  Жишээ	
  
¡  Тест	
  амжилттай	
  давсан	
  тохиолдолд	
  
  version-­‐ыг	
  нэмэгдүүлж	
  файлуудыг	
  zip	
  
  байдлаар	
  шахаад	
  файлын	
  нэрийг	
  өөрчилж	
  
  вэб	
  серверлүү	
  татах	
  байдлаар	
  хуулна.	
  Мөн	
  
  API	
  баримтжуулалтыг	
  public	
  хэсэгт	
  sftp	
  
  (ssh,	
  ftp)	
  ашиглан	
  хуулна.	
  
¡  Асуулт?	
  

More Related Content

Similar to Continuous integration

Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
sodbilego
 
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунуудАндройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Batjargal Batbold
 
програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл
Энхтамир Ш
 
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
batnasanb
 
Day 1
Day 1Day 1
Day 1
ETC
 
It glossary
It glossaryIt glossary
It glossary
Mr Bt
 

Similar to Continuous integration (20)

Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Lecture2
Lecture2Lecture2
Lecture2
 
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунуудАндройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
 
програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл
 
Хувилбар удирдах системийн зөв хэрэглээ
Хувилбар удирдах системийн зөв хэрэглээХувилбар удирдах системийн зөв хэрэглээ
Хувилбар удирдах системийн зөв хэрэглээ
 
Лекц 1
Лекц 1Лекц 1
Лекц 1
 
Lecture 14 test strategy
Lecture 14   test strategyLecture 14   test strategy
Lecture 14 test strategy
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Java programchlal s.uuganbayr
Java programchlal s.uuganbayrJava programchlal s.uuganbayr
Java programchlal s.uuganbayr
 
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
 
Lecture1
Lecture1Lecture1
Lecture1
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
12
1212
12
 
10 мэд зүй компьютер
10 мэд зүй компьютер10 мэд зүй компьютер
10 мэд зүй компьютер
 
Лекц 2
Лекц 2Лекц 2
Лекц 2
 
Lecture network programming
Lecture network programmingLecture network programming
Lecture network programming
 
Day 1
Day 1Day 1
Day 1
 
It glossary
It glossaryIt glossary
It glossary
 

Continuous integration

  • 1. У.Оргил       orgil.u@gmail.com   2012.04  
  • 2. ¡  Зөвхөн  програм  бүрэн  ажиллаж  байгааг   нягтлахад  маш  их  цаг  зарцуулдаг   ¡  Төсөл  томрох  тусам  улам  бүр  комплекс   болж  integration  хийх  нь  маш  их  цаг  авдаг.     ¡  Програмын  алдааг  олоход  удаан  хугацаа   зарцуулдаг   ¡  Эдгээр  хүндрэлийг  багасгахад  туслах   аргачилал  нь  continuous  integration  юм.  
  • 3. ¡  Аgile  development-­‐ын  орчинд  програмын   хөгжүүлэлтийн  явцыг  байнгын  хяналтанд   байлгаж  кодын  чанарт  хяналт  тавих   аргачилал  юм.  
  • 4. ¡  Алдааг  эрт  илрүүлнэ   ¡  Хүний  оролцоог  багасгаж  хяналтыг   автоматжуулна   ¡  Өөрчлөлт  бүрт  код  анализ  тайлан  гаргана   ¡  Unit  test  ажиллуулна   ¡  Тухай  бүрт  нь  кодын  API  баримтжуулалтыг   хийнэ   ¡  Хөгжүүлэгч  хоорондын  итгэлцэл  
  • 5. ¡  Сервэр  дээр  build  tool  суурилна.   ¡  Build  tool  нь  XML  хэлбэрээр   тодорхойлогдсон  код  анализ  болон   үйлдлүүдийн  дарааллыг  агуулна.   ¡  Сервергүйгээр  дангаараа  build  tool   ажиллах  боломжтой.  
  • 6. ¡  Сервер   §  Jenkins  /  Hudson  –  300  гаруй  нэмэлт   §  Cruise  Control   §  Phpundercontrol   §  Travis   ¡  Build  tools   §  Apache  Ant   §  Maven   §  Phing    
  • 7. ¡  Хувилбар  удирдах  систем  дэх  өөрчлөлтийг   Continuous  Integration  сервер  мэдэрнэ.   ¡  Build  tool  нь  хяналтын  багажуудыг   ажиллуулж  кодын  өөрчлөлт  болон  нийт   код  дээр  анализ  хийнэ   ¡  Бусад  тохируулсан  автомат  үйлдлүүдийг   хийнэ.   ¡  Кодын  чанар,  алдаа  гэх  мэт  үр  дүнг   хөгжүүлэгчид  мэдэгдэнэ.  
  • 8. ¡  Coding  convention  буюу  кодын  стандартад   хяналт  тавина   ¡  Кодын  модуль  хоорондын  хамаарлыг   тодорхойлно   ¡  DRY  эсэхийг  шалгана   ¡  Тест  ажиллуулж  тайлан  гаргана   ¡  Code  coverage  буюу  тест  кодын  хоорондын   хамаарлыг  гаргана    
  • 9. ¡  Тохируулж  өгсөн  бусад  үйлдлүүд   ¡  Жишээ   ¡  Тест  амжилттай  давсан  тохиолдолд   version-­‐ыг  нэмэгдүүлж  файлуудыг  zip   байдлаар  шахаад  файлын  нэрийг  өөрчилж   вэб  серверлүү  татах  байдлаар  хуулна.  Мөн   API  баримтжуулалтыг  public  хэсэгт  sftp   (ssh,  ftp)  ашиглан  хуулна.  
  • 10.
  • 11.