반응형
원문:  http://www.ibm.com/developerworks/kr/library/tutorial/j-cq11207/index.html

워낙에 흥미로운 주제를 다루고 있다. 많은 개발자들에게 아직은 생소할 Continuous Integration을 다룬 글이다.

여러가지 개발 도구들을 써보는 것을 좋아 하다 보니 여기저기 돌아다니다가 괜찮거나 필요하다 생각되는 것들을

설치해서 사용해 보는 편이다. 그러다가 편하고 괜찮은 유틸이 있으면 다른 분들에게도 제안하여 같이 사용하기도 한다.

특히 자바쪽이 주력이라 이클립스 플러그인쪽을 많이 활용하는데 그와 연관된 것들도 연동하여 사용한다.

버전관리는 CVS를 통해 하고 있고 빌드는 ANT 그리고 프로파일링툴은 TPTP , 최근에 맘에 드는것을 찾았는데

Static Analysis tool 인 Findbugs,PMD 등이 있다.

요즘 관심을 갖는 것은 이슈 트래커나 CI(Continuous Integration) 도구들인데 위의 글을 읽어보니 꽤 맘에 들었다.

CI에 대해 좀더 알아보고 개인적으로 적용해 봐야겠다.

<원문중>
지속적 통합(Continuous Integration, 이하 CI)이란 지속적으로 소스코드를 컴파일, 테스트, 검사, 배치하는 처리과정을 말합니다. 많은 CI 환경에서 이는 소스코드 관리 저장소에 변경 사항이 생기면 빌드가 새로 실행됨을 의미합니다. CI의 장점은 간단합니다. 비교적 관리하기 쉬울 때 소프트웨어를 어셈블해 보면 결함을 조기해 발견할 가능성이 매우 높아집니다. 본 튜토리얼은 Andrew Glover의 In pursuit of code quality 연재와 더불어 CI의 기초를 소개하고 최신 오픈 소스 기술을 사용하여 CI 처리과정을 설정하는 방법을 단계별로 설명합니다.

 CI 서버를 제대로 설정하여 SCM 저장소에 연결하고 소스코드에서 변화가 감지될 때 앤트 빌드 프로세스를 실행하는 방법에 대해서도 다룰 것이다. 또한 자동화된 JUnit 테스트를 실행하는 방법과 PMD와 FindBugs 모두에서 소프트웨어 검사(inspection)를 실시하는 방법을 다룰 것이다. 마지막으로 최신 CI 서버라는 허드슨(Hudson)이 문제를 발견했을 때 어떻게 알려주는지, 안정적인 소프트웨어를 신속하게 만드는 방법은 무엇인지도 다룰 것이다.

목표

이 튜토리얼은 프레임워크에 따라 허드슨, 앤트, 서브버전(Subversion)을 사용한 CI의 기본 개념을 단계별로 안내한다. 한 시간짜리 본 튜토리얼을 마치고 나면 CI의 장점을 알게되고 협업에 필요한 허드슨, 앤트, 서브버전을 설정 및 구성 방법을 이해할 수 있을 것이다. 빌드 프로세스의 결과물은 테스트와 소프트웨어 검사에서 모두 작동하고 문제 발생시 즉각 보고를 할 것이다.


이 연재에 대하여
우리는 개발자로서 사용자들의 일을 자동화하기 위해 노력한다. 하지만 대다수의 개발자가 자신의 개발 공정을 자동화하는 것은 간과해 버린다. 그런 일이 더이상 발생하지 않도록, " 사람을 위한 자동화 " 연재를 통해 소프트웨어 개발 공정을 자동하는 실용적인 방법과 언제 어떻게 자동화를 성공적으로 적용할 수 있는지에 대해 살펴볼 것이다.


반응형

개발 도구

  1. Eclipse : http://www.eclipse.org/
  2. Netbean : http://www.netbeans.org/community/releases/60/index.html
  3. Firebug : http://www.getfirebug.com/

소스코드 관리

  1. CVS : http://www.cvshome.org
  2. Subversion : http://subversion.tigris.org
  3. MS Visual SourceSafe
  4. BitKeeper : http://www.bitkeeper.com
  5. ClearCase : http://www-306.ibm.com/software/awdtools/clearcase/

빌드 스크립트 도구

  1. make : http://source.redhat.com/cygwin
  2. Automake : http://www.gnu.org/software/automake
  3. Ant : http://ant.apache.org
  4. NAnt : http://nant.sourceforge.net
  5. Groovy : http://groovy.codehaus.org
  6. Rake : http://rake.rubyforge.org/  
  7. SCons : http://www.scons.org/

빌드 시스템

  1. Mavenhttp://maven.apache.org 
  2. Maven2 : http://maven.apache.org/maven2/index.html

CI 도구 (Continuous integration )

  1. CruiseControl : http://cruisecontrol.sourceforge.net
  2. CruiseControl .NET : http://sourceforge.net/projects/ccnet
  3. DamageControl : http://damagecontrol.codehaus.org
  4. AntHill : http://www.urbancode.com/projects/anthill
  5. Continuum : http://maven.apache.org/continuum
  6. LuntBuild : http://luntbuild.javaforge.com/  
  7. Buildix : http://buildix.thoughtworks.com/  
  8. Hudson : https://hudson.dev.java.net/  (직관적이고 사용법이 쉬움)

이슈 추적 도구

  1. Bugzilla : http://www.bugzilla.org
  2. JIRA : http://www.atlassian.com/software/jira/default.jsp
  3. FogBugz : http://www.fogcreek.com/FogBugz
  4. PR-Tracker : http://www.prtracker.com  
  5. Trac : http://trac.edgewall.org/

테스트 프레임워크

  1. JUnit : http://www.junit.org
  2. NUnit : http://www.nunit.org
  3. xUnit.NET : http://www.codeplex.com/xunit
  4. MbUnit : http://www.mbunit.org
  5. HTMLUnit : http://htmlunit.sourceforge.net
  6. HTTPUnit : http://httpunit.sourceforge.net
  7. JWebUnit : http://jwebunit.sourceforge.net
  8. Cobertura : http://cobertura.sourceforge.net
  9. Clover : http://www.cenqua.com/clover  
  10. Cactus : http://jakarta.apache.org/cactus/
  11. Emma : http://emma.sourceforge.net/
  12. Fit : http://fit.c2.com
  13. Fitness : http://fitnesse.org  
  14. Watir : http://wtr.rubyforge.org
  15. Systir : http://atomicobject.com/systir.page
  16. AUT : http://aut.tigris.org/
  17. UnitTest++ : http://unittest-cpp.sourceforge.net/  
  18. TestNG : http://testng.org/doc/  
  19. CppUnit : http://sourceforge.net/projects/cppunit  
  20. CppUnit2 : http://cppunit.sourceforge.net/cppunit-wiki/CppUnit2  
  21. Selenium : http://www.openqa.org/
  22. Agitar : http://www.agitar.com/  
  23. JTest : http://www.parasoft.com/jsp/home.jsp  
  24. PushToSoft : http://www.pushtotest.com/  
  25. Eclemma : http://www.eclemma.org/

프로젝트 관리

  1. OpenProj : http://openproj.org/openproj 
  2. dotproject : http://www.dotproject.net/
  3. Mantis : http://www.mantisbt.org/

커뮤니케이션 도구, 위키

  1. MoinMoin : http://moinmoin.wikiwikiweb.de/
  2. Confluence : http://www.atlassian.com/software/confluence/
  3. TWiki : http://twiki.org/
  4. SocialText : http://www.socialtext.com/  
  5. Springnote : http://www.springnote.com/ko

성능분석

  1. ANTS Load : http://www.red-gate.com/products/ants_load/index.htm  
  2. JunitPerf : http://www.clarkware.com/software/JUnitPerf.html  
  3. Jmeter : http://jakarta.apache.org/jmeter/

기타

  1. Structure101 : http://www.headwaysoftware.com/index.php  
  2. FreeMind : http://freemind.sourceforge.net/wiki/index.php/Main_Page  
  3. Capistrano : http://manuals.rubyonrails.com/read/book/17


 

출처 :   개발이 좋아 개발자가된 많은 사람들에게 말하고 싶은 이야기. by k16wire
           http://moai.tistory.com/notice/270 

+ Recent posts