DevOps2016.01.22 10:52
Today key : Continuous, Integration, CI, 지속적, 통합, DevOps, Agile, 애자일, XP, eXtream, Programming, 방법론, Practice



Continuous Integration (지속적 통합)

소프트웨어 개발에서 Build/Test 프로세스를 지속적으로 수행하는 . (Daily Build 라고도 했었음)

지속적으로 개발된 Unit 코드에 대한 Integration 작업을 수행하여, 항상 최신의 상태를 유지

Agile 개발 방법론/프로세스 중의 하나인 XP(eXtream Programming) Practice 중의 하나

 




 

Continuous Integration의 특징 장점

항상 최신의 상태를 유지하기 위해 공통의 프로젝트 버전 관리 시스템을 이용하여 코드베이스의 복사본을 이용하여 개발 작업을

  거치고, 이를 다시 검증 후에 다시 업데이트.

개발 시점과 Integration 시점이 멀어질 경우에, Integration 후의 발생하는 다양한 문제를 해결하는 많은 시간이 소요되는 반해,

  이러한 통합 과정을 초기부터 지속적으로 수행하여 보다 빠르고 쉽게 문제점을 해결하여, 소프트웨어 품질과 생산성을 향상.

시작 단계부터 지속적인 통합을 통해서 'integration Hell'이라고 불리는 개발 종료 후의 통합 시에 발생한 문제를 예방하여,

   재작업에 필요한 비용 감소 시간 단축

지속적인 버전관리를 통해서 발생하는 버그, 에러 등에 대해서 빠르게 확인 수정 가능

 

Continuous Integration에 필요한

CI 도구(CI Server)

    - 전체 Build 프로세스를 관리

    - Ex) Jenkins

버전 관리 시스템(SCM)

    - 항상 동일한 최신의 베이스라인 코드를 가지고 작업 필요.

    - Ex) Git, SVN

빌드 도구(Build Tool)

    - 개발된 코드를 컴파일 과정을 거쳐서 서비스 가능한 형태로 만드는 빌드 과정을 수행 도구

    - Ex) Maven, Ant

테스트 도구(Test Tool)

    - 단위테스트, 통합테스트, 사용자 테스트, 회귀 테스트 등을 자동으로 수행 있는 도구

    - Ex) Junit

 

 

 

 

Practices of Continuous Integration - [ Martinfowler CI 대한 포스팅 중의 CI 수행하기 위한 방법 ]

Maintain a Single Source Repository.

Automate the Build

Make Your Build Self-Testing

Everyone Commits To the Mainline Every Day

Every Commit Should Build the Mainline on an Integration Machine

Fix Broken Builds Immediately

Keep the Build Fast

Test in a Clone of the Production Environment

Make it Easy for Anyone to Get the Latest Executable

Everyone can see what's happening

Automate Deployment

 

Martinfowle

    영국 출신의 객체지향 프로그래밍 전문가이자, 컨설턴트이며, 리팩토링의 리더 중의 .


Posted by 네떡지기
분류없음2015.09.07 23:29

 

DevOps Tool

 

 

 

https://xebialabs.com/periodic-table-of-devops-tools/

 

 

 

Posted by 네떡지기
TAG DevOps, table, tool
DevOps2015.04.23 07:58

ari_pingrange.py

IP_Info.py

브로케이드 , DevOps , NFV , SDN : Today Key

 

브로케이드 웨비나 < DevOps함께 NFV와 SDN을 실현합니다> 를 그저께 들었습니다.

업무시간이라서 처음부터 끝까지 경청할 수 있는 상황은 아니었지만,

진행된 세션 중의 기록해 둘만한 장표가 있어서 블로그에 올려봅니다.

 

 


미래 네트워크 결정 요소
 ▷ 자동화 - 적응성, 네트워크 민첩성
 ▷ 개방성 - 오픈소스 및 표준 데이터 모델 지원
 ▷ 표준 노스바운드 및 사우스바운드 인터페이스
 ▷ 프로그래밍 가능성 - 제어
 ▷ RESTful 인터페이스 및 YANG 데이터 모델
 ▷ 신속한 개발, 개발 방법에 대한 고객의 의견에 부합하도록 엔지니어링 프로세스(문화)정비

 

SDN/NFV를 위한 DevOps 구축 필요
  ▷네트워크 팀에는 프로그래머가 거의 없으며, 주로 프로그래머가 아닌 직원들로 구성
  ▷ 앱 개발자들은 네트워크 엔지니어가 아님
  ▷ 프로그래머의 bottleneck을 피해야함
  ▷ 정보의 체계화 필요
  ▷ 프로그래머가 아닌 직원들의 생산성을 높이십시오
  ▷ 빨리 시작하는 것도 중요하고 그것보다 더 중요한 것은 지속적인 투자/관심

 


  

Posted by 네떡지기

티스토리 툴바