SlideShare a Scribd company logo
У.Оргил	
  	
  	
  
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)	
  ашиглан	
  хуулна.	
  
Continuous integration
Continuous integration
¡  Асуулт?	
  

More Related Content

PPT
Solit 2013, Open Source continuous integration in java, Калачев Дмитрий
PPTX
AgileCamp’11 Новосибирск - Continuous Integration (CI)
PPTX
Алексей Рыстенко: Continuous Integration
ODP
Integration Testing in Python
PDF
Continuous Integration Testing in Django
PPTX
Applications of Derivatives
PPT
Partial Differentiation & Application
PDF
Хувилбар удирдах системийн зөв хэрэглээ
Solit 2013, Open Source continuous integration in java, Калачев Дмитрий
AgileCamp’11 Новосибирск - Continuous Integration (CI)
Алексей Рыстенко: Continuous Integration
Integration Testing in Python
Continuous Integration Testing in Django
Applications of Derivatives
Partial Differentiation & Application
Хувилбар удирдах системийн зөв хэрэглээ

Similar to Continuous integration (20)

PPT
Day 2 php
 
PDF
C++ суулгах
ODS
It glossary
DOCX
DW test
PPTX
Lec09 deadlock
PPTX
PPT
си хэлний ойлголт
DOCX
Dynamic web 3
PPTX
Lecture1
PPTX
Lecture2
PDF
Video lab1-web
PPT
Xml orchuulga bayarbat purevkhuu
DOCX
Drawing
DOCX
U.it101 bie daalt1
PDF
Tutorial of python
PDF
Tutorial of python
PPT
Day 1
 
PPTX
Lecture1
Day 2 php
 
C++ суулгах
It glossary
DW test
Lec09 deadlock
си хэлний ойлголт
Dynamic web 3
Lecture1
Lecture2
Video lab1-web
Xml orchuulga bayarbat purevkhuu
Drawing
U.it101 bie daalt1
Tutorial of python
Tutorial of python
Day 1
 
Lecture1
Ad

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)  ашиглан  хуулна.