<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>기본이 바로 선 나라 &#187; Continuous Integration</title>
	<atom:link href="http://dicawoo.com/tag/continuous-integration/feed" rel="self" type="application/rss+xml" />
	<link>http://dicawoo.com</link>
	<description>Luck is where preparation meets opportunity.</description>
	<lastBuildDate>Tue, 10 Apr 2012 15:01:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>‘행위의 중복’을 없애는, 사람을 위한 자동화</title>
		<link>http://dicawoo.com/38</link>
		<comments>http://dicawoo.com/38#comments</comments>
		<pubDate>Sat, 12 Jan 2008 00:28:59 +0000</pubDate>
		<dc:creator>정의의소</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[IBM developerWroks]]></category>
		<category><![CDATA[Smart Work]]></category>
		<category><![CDATA[자동화]]></category>
		<category><![CDATA[테스트]]></category>
		<category><![CDATA[프로세스]]></category>

		<guid isPermaLink="false">http://kwwoo75.cafe24.com/?p=38</guid>
		<description><![CDATA[프로젝트를 진행함에 있어 가장 중요한 요소 중의 하나가 자동화라고 생각합니다. IBM developerWorks의 자동화 관련된 내용을 오픈마루 강규영님께서 정리해 주셨네요. 진행하고 있는 프로젝트와 비교해 보시고 적용 점을 찾아 보시면 많은 도움이 있을 것 같습니다. 제가 올해 부터 진행하는 프로젝트에 하나 씩 적용하면서 어떻게 적용하였고 어떤 장,단점이 있는지를 정리하려고 합니다. 인프라(툴), 프로세스, 테스트(기법)의 내용이 주된 내용이 될 <a href='http://dicawoo.com/38' class='excerpt-more'>[...]</a>
Related posts:<ol>
<li><a href='http://dicawoo.com/26' rel='bookmark' title='Continuous Integration'>Continuous Integration</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fdicawoo.com%252F38%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%E2%80%98%ED%96%89%EC%9C%84%EC%9D%98%20%EC%A4%91%EB%B3%B5%E2%80%99%EC%9D%84%20%EC%97%86%EC%95%A0%EB%8A%94%2C%20%EC%82%AC%EB%9E%8C%EC%9D%84%20%EC%9C%84%ED%95%9C%20%EC%9E%90%EB%8F%99%ED%99%94%22%20%7D);"></div>
<p>프로젝트를 진행함에 있어 가장 중요한 요소 중의 하나가 자동화라고 생각합니다.</p>
<p>IBM developerWorks의 자동화 관련된 내용을 오픈마루 강규영님께서 정리해 주셨네요.</p>
<p>진행하고 있는 프로젝트와 비교해 보시고 적용 점을 찾아 보시면 많은 도움이 있을 것 같습니다.</p>
<p>제가 올해 부터 진행하는 프로젝트에 하나 씩 적용하면서 어떻게 적용하였고 어떤 장,단점이 있는지를 정리하려고 합니다.</p>
<p>인프라(툴), 프로세스, 테스트(기법)의 내용이 주된 내용이 될 것 같습니다.</p>
<p>똘똘하게 일합시다.(Work smart) ^,.^;</p>
<p>[#M_ more.. | less.. |<br />
<table style="width: 593px; height: 1px;" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr valign="top">
<td></td>
</tr>
<tr valign="top">
<td><img alt="" src="http://www.ibm.com/i/c.gif" border="0" height="6" width="8"></td>
</tr>
</tbody>
</table>
<p>
<img alt="" src="http://www.ibm.com/i/c.gif" height="5" width="1"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr valign="top">
<td width="90%"><!--(2006년 1월 1일 ~ 1월 31일)--><br />
		필자 | 강규영, 엔씨소프트 오픈마루 스튜디오 웹서비스 개발팀  <a href="mailto:alankang@openmaru.com" class="fbox">alankang@openmaru.com</a></p>
<p>			2007년 10월 30일<br />
  			2008년 01월 08일 수정
		 </td>
<td width="100">
<p></td>
<td width="10"><img alt="" src="http://www.ibm.com/i/c.gif" height="3" width="10"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p><!-- Spacer --><br />
</p>
<p><!-- Section One start --></p>
<p>어느 정도 경험이 있는 개발자라면, 혹은 마틴 파울러의 "리팩토링"을 읽어본 개발자라면, 소스 코드 중복이 왜 문제이며<br />
중복을 어떻게 하면 효과적으로 제거할 수 있는지 잘 알고 있을 것입니다. 하지만 제거해야 할 중복은 소스 코드에만 있는 것이<br />
아닙니다. </p>
<p>
소프트웨어를 빌드할 때마다 반복적으로 입력하는 명령어들, 코드를 수정한 후 수동으로 수행하는 반복적 테스트, 주기적으로 작성하는 각종 리포트 등은 소스 코드 중복은 아니지만 "행위의 중복"이며 제거해야 할 대상입니다.
</p>
<p>
이 연재는 다양한 자동화 기법을 통해 이러한 "행위의 중복"을 제거하는 효과적이고 검증된 방법들을 상세히 설명합니다. 이를 통해<br />
반복적이고 지루한 작업은 컴퓨터에 떠넘기고, 여러분은 더 창의적이고 가치 있는 일에 집중할 수 있게 될 것입니다.
</p>
<ul>
<li>
1편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap10106/index.html" class="fbox">빌드 스크립트에서 나는 “악취(smell)” 제거하기 (한글)</a></li>
<p>
빌드 스크립트에 대하여 "악취(bad smells)" 개념을 적용하고 아홉 가지 꼭 피해야 할 악취들을 소개합니다.</p>
<li>
2편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap03137/index.html" class="fbox">연속 테스팅 (한글)</a> </li>
<p>
연속 테스팅(continuous testing)을 소개합니다. 연속 테스팅이란 저장소의 코드가 바뀔 때마다 자동으로 테스트를 수행하게 하는 방식으로, 코드 수정에 대한 피드백 주기를 크게 줄여줄 수 있습니다.</p>
<li>
3편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap01117/index.html" class="fbox">Eclipse 플러그인으로 코드 품질 높이기 (한글)</a> </li>
<p>
코딩 표준, 코드 중복, 코드 커버리지, 의존성 분석, 복잡성 감시 등 이른바 "5대 코드 분석 영역"을 설명하고, 다양한 정적 코드 분석 플러그인을 통해 이러한 분석을 자동으로 수행하는 방법을 소개합니다.</p>
<li>
4편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap09056/index.html" class="fbox">Continuous Integration 서버 선택하기 (한글)</a> </li>
<p>지<br />
속적 통합(continuous integration)을 위한 오픈 소스 소프트웨어들을 소개하고 각각의 특징을 분석합니다. 지속적<br />
통합은 앞서 소개된 연속 테스팅 등과 함께 행위의 중복을 제거하고 피드백 주기를 줄이기 위해 필수적인 실천법(practice)<br />
중 하나입니다.</p>
<li>
5편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap08016/index.html" class="fbox">Continuous Inspection (한글)</a> </li>
<p>앞<br />
서 소개한 코드 분석 기법들을 통해 자동으로 코드 검사를 수행하여, 이를 통해 짝 프로그래밍, 주간 코드 리뷰 등을 통해 얻을<br />
수 있는 유용함을 얻을 수 있는 방법을 소개합니다. 저자는 한편, 모든 수동 소스 검사를 자동화할 수는 없고 다만 수동 소스<br />
검사 과정을 더 효율화한다는 개념으로 접근해야 한다는 것을 강조합니다.</p>
<li>
6편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap11146/index.html" class="fbox">지속적인 피드백 (한글)</a> </li>
<p>다<br />
양한 소프트웨어, 하드웨어 장치를 통해 자동화 결과에 대한 피드백을 받는 방법을 소개합니다. 저자가 강조하는 것은 이 연재에서<br />
소개되는 모든 장치를 적용하는 것이 아니라 상황에 맞는 적절한 장치를 선택적으로 적용해야 한다는 점입니다.</p>
<li>
7편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap07107/index.html" class="fbox">아키텍처 건전성 (한글)</a> </li>
<p>
아키텍처 수준에서의 디자인 문제를 정량적으로 측정하는 방법, 앞서 소개한 정적 소스 분석 도구들을 이용하여 이러한 검사를 자동으로 수행하는 방법, 그리고 디자인 문제가 발생하면 빌드 프로세스가 멈추도록 하는 방법 등을 소개합니다.</p>
<li>
8편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap11067/" class="fbox">Raven으로 자바 프로젝트 구현하기 (한글)</a> </li>
<p>
Ruby를 기반으로 구현된 빌드 플랫폼인 Raven을 사용하여 빌드 스크립트 내에서 Ruby의 힘과 유연성을 확인해 봅시다.</p>
<li>
9편: <a href="http://www.ibm.com/developerworks/kr/library/j-ap11297/index.html" class="fbox">Continuous Integration 반패턴(anti-pattern) (한글)</a> </li>
<p>자<br />
동화 전문가이자, Continuous Integration: Improving Software Quality and<br />
Reducing Risk 의 공동 저자인 Paul Duvall이 CI 반패턴(anti-pattern)을 설명하고, 이를 피하는<br />
방법을 설명합니다.
</ul>
<p>_M#]</p>

<p>Related posts:<ol>
<li><a href='http://dicawoo.com/26' rel='bookmark' title='Continuous Integration'>Continuous Integration</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://dicawoo.com/38/feed</wfw:commentRss>
		<slash:comments></slash:comments>
		</item>
		<item>
		<title>Continuous Integration</title>
		<link>http://dicawoo.com/26</link>
		<comments>http://dicawoo.com/26#comments</comments>
		<pubDate>Thu, 04 Oct 2007 17:13:21 +0000</pubDate>
		<dc:creator>정의의소</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[buildx]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Martin Fowler]]></category>
		<category><![CDATA[마틴 파울러]]></category>

		<guid isPermaLink="false">http://kwwoo75.cafe24.com/?p=26</guid>
		<description><![CDATA[Continuous Integration은 예전에 마틴 파울러의 글을 얼핏 봤다가 k16wire님의 블로그에서 번역글을 다시 보았습니다.마침 어제 팀장님과의 미팅 중 빌드 시스템에 대한 필요성에 대해서 잠시 이야기를 하였습니다.그리고 현재 지원하고 있는 과제에서 SCM 정책(Iteration, Branch, Build, Test)에 대한 논의를 하고 있는 와중에 접한 글이라 반갑기도 하고 더 고민거리가 많아졌습니다. - 과제 현황 - 여러개의 서브시스템으로 나누어져 있는 팀은 <a href='http://dicawoo.com/26' class='excerpt-more'>[...]</a>
Related posts:<ol>
<li><a href='http://dicawoo.com/38' rel='bookmark' title='‘행위의 중복’을 없애는, 사람을 위한 자동화'>‘행위의 중복’을 없애는, 사람을 위한 자동화</a></li>
<li><a href='http://dicawoo.com/299' rel='bookmark' title='The Thinking Tool called Agile'>The Thinking Tool called Agile</a></li>
<li><a href='http://dicawoo.com/27' rel='bookmark' title='Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드'>Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fdicawoo.com%252F26%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Continuous%20Integration%22%20%7D);"></div>
<p><a href="http://www.martinfowler.com/articles/continuousIntegration.html" target="_blank">Continuous Integration</a>은 예전에 마틴 파울러의 글을 얼핏 봤다가 <span class="author"><a href="http://moai.tistory.com" target="_blank">k16wire님의 블로그</a>에서 <a href="http://moai.tistory.com/224" target="_blank">번역글</a>을 다시 보았습니다.<br />마침 어제 팀장님과의 미팅 중 빌드 시스템에 대한 필요성에 대해서 잠시 이야기를 하였습니다.<br />그리고 현재 지원하고 있는 과제에서 SCM 정책(Iteration, Branch, Build, Test)에 대한 논의를 하고 있는 와중에 접한 글이라 반갑기도 하고 더 고민거리가 많아졌습니다.</p>
<p>- 과제 현황 -<br /></span>
<ul>
<li><span class="author">여러개의 서브시스템으로 나누어져 있는 팀은 서로 커뮤니케이션이 부족하다.</span></li>
</ul>
<ul>
<li>변경 사항에 대한 공유 프로세스가 미비하다.</p>
</li>
<li><span class="author">middleware에서 수정 된 후 check in 되고 그 후에 application 에서 수정되어 항상 빌드되는 코드를 유지하기 힘들다.(프로세스 미비)
<p></span></li>
<li><span class="author">개발자가 본인 모듈과 Dependency가 있는 모듈을 알지 못한다.
<p></span></li>
<li><span class="author">Unit Test Case를 수행하고 있지 않다.(일부 제외. 현재 QA팀에서 작성하고 있다.. ㅡ,.ㅡ)</span></li>
</ul>
<p>요약 하면 <span style="font-weight: bold; color: rgb(255, 0, 0);">&#8220;프로세스 및 Tool 미비&#8221;</span> 이다.</p>
<p>현재 SCM에서 빌드 시스템을 개선하고 있습니다. 그래서 <a href="http://buildix.thoughtworks.com/" target="_blank">Buildix</a>를 소개 했습니다.</p>
<p>Buildix는 아래의 세가지 Tool을 포함하고 있습니다.
<ul>
<li><a href="http://subversion.tigris.org/">Subversion</a> for Source Control</li>
<li><a href="http://projects.edgewall.com/trac/">Trac</a> for a Wiki, Bug-Tracker and general Project Management</li>
<li><a href="http://cruisecontrol.sourceforge.net/">Cruise Control</a> for Continuous Integration</li>
</ul>
<p>Buidix의 Demo 동영상은 <a href="http://buildix.thoughtworks.com/video.html" target="_blank">여기</a>를 참고 하시면 됩니다.</p>
<p>Buildix의 Diagram은 아래와 같습니다.
<div style="text-align: center;"><a href="http://farm3.static.flickr.com/2093/1492892414_135260f851_o.gif" title="schematic-lrg" rel="lightbox" target="_blank"><img src="http://farm3.static.flickr.com/2093/1492892414_7e8d08136e.jpg" border="0"></a></div>
<p>관련 글<br />&nbsp;- <a href="http://www.ibm.com/developerworks/kr/library/j-ap09056/index.html" target="_blank">사람을 위한 자동화: Continuous Integration 서버 선택하기</a></p>

<p>Related posts:<ol>
<li><a href='http://dicawoo.com/38' rel='bookmark' title='‘행위의 중복’을 없애는, 사람을 위한 자동화'>‘행위의 중복’을 없애는, 사람을 위한 자동화</a></li>
<li><a href='http://dicawoo.com/299' rel='bookmark' title='The Thinking Tool called Agile'>The Thinking Tool called Agile</a></li>
<li><a href='http://dicawoo.com/27' rel='bookmark' title='Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드'>Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://dicawoo.com/26/feed</wfw:commentRss>
		<slash:comments></slash:comments>
		</item>
	</channel>
</rss>

