continuous integration

12
У.Оргил [email protected] 2012.04

Upload: orgil-urtnasan

Post on 13-Aug-2015

277 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Continuous integration

У.Оргил      [email protected]  

2012.04  

Page 2: Continuous integration

¡  Зөвхөн  програм  бүрэн  ажиллаж  байгааг  нягтлахад  маш  их  цаг  зарцуулдаг  

¡  Төсөл  томрох  тусам  улам  бүр  комплекс  болж  integration  хийх  нь  маш  их  цаг  авдаг.    

¡  Програмын  алдааг  олоход  удаан  хугацаа  зарцуулдаг  

¡  Эдгээр  хүндрэлийг  багасгахад  туслах  аргачилал  нь  continuous  integration  юм.  

Page 3: Continuous integration

¡  Аgile  development-­‐ын  орчинд  програмын  хөгжүүлэлтийн  явцыг  байнгын  хяналтанд  байлгаж  кодын  чанарт  хяналт  тавих  аргачилал  юм.  

Page 4: Continuous integration

¡  Алдааг  эрт  илрүүлнэ  ¡  Хүний  оролцоог  багасгаж  хяналтыг  автоматжуулна  

¡  Өөрчлөлт  бүрт  код  анализ  тайлан  гаргана  ¡  Unit  test  ажиллуулна  ¡  Тухай  бүрт  нь  кодын  API  баримтжуулалтыг  хийнэ  

¡  Хөгжүүлэгч  хоорондын  итгэлцэл  

Page 5: Continuous integration

¡  Сервэр  дээр  build  tool  суурилна.  ¡  Build  tool  нь  XML  хэлбэрээр  тодорхойлогдсон  код  анализ  болон  үйлдлүүдийн  дарааллыг  агуулна.  

¡  Сервергүйгээр  дангаараа  build  tool  ажиллах  боломжтой.  

Page 6: Continuous integration

¡  Сервер  §  Jenkins  /  Hudson  –  300  гаруй  нэмэлт  §  Cruise  Control  §  Phpundercontrol  §  Travis  

¡  Build  tools  §  Apache  Ant  §  Maven  §  Phing  

 

Page 7: Continuous integration

¡  Хувилбар  удирдах  систем  дэх  өөрчлөлтийг  Continuous  Integration  сервер  мэдэрнэ.  

¡  Build  tool  нь  хяналтын  багажуудыг  ажиллуулж  кодын  өөрчлөлт  болон  нийт  код  дээр  анализ  хийнэ  

¡  Бусад  тохируулсан  автомат  үйлдлүүдийг  хийнэ.  

¡  Кодын  чанар,  алдаа  гэх  мэт  үр  дүнг  хөгжүүлэгчид  мэдэгдэнэ.  

Page 8: Continuous integration

¡  Coding  convention  буюу  кодын  стандартад  хяналт  тавина  

¡  Кодын  модуль  хоорондын  хамаарлыг  тодорхойлно  

¡  DRY  эсэхийг  шалгана  ¡  Тест  ажиллуулж  тайлан  гаргана  ¡  Code  coverage  буюу  тест  кодын  хоорондын  хамаарлыг  гаргана  

 

Page 9: Continuous integration

¡  Тохируулж  өгсөн  бусад  үйлдлүүд  

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

Page 10: Continuous integration
Page 11: Continuous integration
Page 12: Continuous integration

¡  Асуулт?