2. 기능요약 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 주요기능 IDE 통합및도구지원 원격코드 Build 자동화 지원여부 대부분의도구지원 (Eclipse, NetBeans 등 ) 지원 (FTP, SCP, SFTP, SVN) 자동화 Build 중 Unit Te

Similar documents
슬라이드 1

문서의 제목 나눔고딕B, 54pt

PowerPoint 프레젠테이션

1. 도구개요 STAF Testing 소개 각테스트대상분산환경에데몬을사용하여테스트대상프로그램을통해테스트를수행하고, 통합하며자동화하는 프레임워크 주요기능 테스트통합및자동화 카테고리 Testing 세부카테고리테스트설계및실행 커버리지 Test Integration / Aut

블로그_별책부록

개발및운영 Eclipse 를이용한 ANT 활용방법

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

파워포인트

Angry MOMO Presentation

슬라이드 1

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

슬라이드 1

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

소프트웨어 검증 및 설계

PowerPoint Presentation

슬라이드 1

JDK이클립스

문서의 제목 나눔고딕B, 54pt

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

슬라이드 1

슬라이드 1

1. 도구개요 JUnit Testing 소개 JUnit 은 Java 기반테스팅을위한프레임워크로, 단위모듈 (ex: Method) 이정확히구현되었는지를확인할수있는도구 주요기능 Test case 생성및실행, 오류추적 카테고리 Testing 세부카테고리테스트설계및실행 커버리

슬라이드 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

문서의 제목 나눔고딕B, 54pt

슬라이드 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

2. 기능요약 Parallel 빌드지원등빌드자동화기능을지원하며다양한도구 ( 형상관리도구, Issue Tracker, Test 도구, IDE) 와의연동을지원함. 주요기능 Parallel 빌드지원 ( 다수프로젝트동시빌드 ) 분산빌드웹기반관리 알림형상관리도구지원

1. 도구개요 Implementation Eclipse CDT 소개 CDT(C/C++ Development Toolkit) 는 Eclipse plug-in 중하나로 C/C++ 개발을위한통합개발환경 (IDE : Integrated Development Environmen

2. 기능요약 요구사항들을기록하고이들을 JUnit Test Case 와매치함으로써프로세스를단순화 주요기능단위테스트프로그래밍언어지원시스템테스트 GUI / Console 파라미터가있는메소드의테스트 TDD 지원여부지원 F#, C#, C++ 등닷넷환경지원모두지원 2.5버전이상

Apache Ivy

PowerPoint 프레젠테이션

2. 기능요약 는 Java 의 Coverage 를측정하기위한도구 EclEmma 는 의기능을 Eclipse 에서사용할수있도록구현된 Plug-in 주요기능 지원내용 Code coverage 분석 지원 단위별 Coverage 분석 지원 Source highlighting 기

1. 도구개요 Configuration & Version Management CVS 소개 버전컨트롤시스템으로소스코드나기타리소스의히스토리를쉽게관리할수있도록도와주는도구 주요기능 버전관리, 변경관리, 소스관리 카테고리 Configuration & Version Managem

PowerPoint 프레젠테이션

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

문서의 제목 나눔고딕B, 54pt

2. 기능요약 정해진규칙에따라소스코드를검사해주고이에대한결과를 report 하게함으로서코딩효율을높여주는도구 주요기능 지원내용 소스코드검사범위 프로젝트 대상언어 Java, JavaScript, XML, XSL, JSP 코드위배사항발견지원 ( 코딩스타일및사용되지않는코드 )

문서의 제목 나눔고딕B, 54pt

4S 1차년도 평가 발표자료

Microsoft PowerPoint - chap01-C언어개요.pptx

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

슬라이드 1

1. 도구개요 TestLink Testing 소개 주요기능 TestLink 는웹을기반으로테스트를관리한다. 또한테스트명세서와계획, 리포팅, 요구사항트래킹기능을가지고있 으며버그트래킹시스템들과연동이가능하다. 요구사항트래킹기능제공, 다양한형식의보고서작성기능 카테고리 Testi

1. 도구개요 HttpUnit Testing 소개 주요기능 HTTP서버와자바프로그램을통해상호작용을할수있는오픈소스기반의자바라이브러리. HttpUnit 은자바프로그램에서브라우저없이직접서버에접근. HttpUnit 은 HTML서버들의상호작용에대한 API를제공하여 JUnit 또

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Spring Boot

슬라이드 1

슬라이드 1

슬라이드 1

gcloud storage 사용자가이드 1 / 17

쉽게 풀어쓴 C 프로그래밍

2. 기능요약 웹기반의서비스로써, 손쉬운일정관리및프로젝트관리를지원하는도구 주요기능일정관리그룹관리다중프로젝트관리체크리스트투표기능첨부파일 지원내용지원지원지원지원지원지원 1

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

문서의 제목 나눔명조R, 40pt

Secure Programming Lecture1 : Introduction

ISP and CodeVisionAVR C Compiler.hwp

PowerPoint 프레젠테이션

슬라이드 1

CODESYS 런타임 설치과정

chapter1,2.doc

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

슬라이드 1

1. 도구개요 FitNesses Testing 소개 자동화된테스팅을위한프레임워크인 Fit (Framework for Integrated Tests) 을기반으로하여테스트를수행하고, Fit 의테이블구조를통한웹상에서테스트결과를관리하고보고 주요기능 컴파일된파일 (.Class)

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

문서의 제목 나눔고딕B, 54pt

JAVA 플랫폼 개발 환경 구축 및 활용

목차 I. CI 정의 II. CI 필요성 III. CI 기능및특징 IV. CI 제품 V. Hudson VI. 적용방안 VII. 결론 - 1 -

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

윈도우시스템프로그래밍

Studuino소프트웨어 설치

스마트월드캠퍼스 교육교제

Microsoft PowerPoint 통신 및 압축 명령어.ppt

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

Microsoft PowerPoint UNIX Shell.pptx

슬라이드 1

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

슬라이드 1

*2008년1월호진짜

PowerPoint 프레젠테이션

1. 도구개요 Requirement Analysis & Management JFeature 소개 요구사항들을기록하고이들을 JUnit Test Case 와매치함으로써프로세스를단순화할수있다 주요기능 요구사항기록, Report 생성하기 카테고리 Requirement Anal

[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

작성자 : 기술지원부 김 삼 수

Interstage5 SOAP서비스 설정 가이드

PowerPoint 프레젠테이션

PowerPoint Presentation

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

슬라이드 1

PowerPoint 프레젠테이션

Install stm32cubemx and st-link utility

ICAS CADWorx SPLM License 평가판설치가이드

슬라이드 1

Facebook API

Transcription:

1. 도구개요 소개 주요기능 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구유닉스나리눅스에서사용되는 make와비슷하나자바언어로구현되어있어자바실행환경이필요하며자바프로젝트들을빌드하는데표준으로사용패키지빌드자동화 카테고리 세부카테고리빌드 커버리지 Package Build Automation 도구난이도하 라이선스형태 / 비용 BSD License (Berkeley Software Distribution) / 무료 사전설치도구 JDK 1.5이상 Eclipse( 본매뉴얼에서사용핚도구 ) 운영체제 Windows, Linux, Mac OS, UNIX 최신버전 1.8.4 (2012. 10) 특징 Build 자동화 ( 컴파일, Javadoc 생성, 실행, FTP SCP, SFTP 연결, CVS 연동, 다른공학도구와의연동 ) 배포 유닛테스트 (JUnit 활용, HTML 등테스트결과보고서작성 ) 적용회사 / 프로젝트관련도구제작사공식홈페이지 JAVA를기반으로진행되는프로젝트, 대부분의자바 IDE에기본적용 Eclipse, NetBeans, Hudson, PMD등 Apache Software Foundation http://ant.apache.org/ 1

2. 기능요약 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 주요기능 IDE 통합및도구지원 원격코드 Build 자동화 지원여부 대부분의도구지원 (Eclipse, NetBeans 등 ) 지원 (FTP, SCP, SFTP, SVN) 자동화 Build 중 Unit Test 수행 지원 (JUnit) 테스트수행결과보고서 지원 (HTML) JAVA Doc 생성 지원 공학도구연계지원 (Hudson, PMD, Maven 등 ) Build 후배포 지원 1

3. 도구실행환경 JAVA 를지원하는 IDE 상에서설치및구현이가능 다양한 OS 를지원 Windows : Windows XP / Windows 7 (32, 64-bit 모두지원 ) Linux : 32, 64-bit 지원 Mac OS X : 32, 64-bit 지원 UNIX : 32, 64-bit 지원 JDK, 자바기반도구 (IDE 등 ) 이필요 코드및플러그인형태, 도구에포함되어있는형태로제공 Java IDE (Eclipse, NetBeans 등 ) JDK (Java development kit) Windows / Linux / Mac OS / UNIX 1

4. 도구설치방법 세부목차 4.1 다운받기 4.2 설정하기 4.3 Eclipse 에서 설치여부확인하기 1

4. 도구설치방법 4.1 다운받기 (1/2) 대부분의 JAVA IDE 는 를포함하고있으나, Eclipse 외부나업데이트시설치 http://ant.apache.org/ 에접속 Binary Distributions 2

4. 도구설치방법 4.1 다운받기 (2/2) 각운영체제에맞는패키지다운로드 Eclipse Windows 용은 zip 파일을다운 3

4. 도구설치방법 4.2 설정하기 (1/2) 압축해제및환경변수설정 압축해제 ANT_HOME 환경변수추가 4

4. 도구설치방법 4.2 설정하기 (2/2) 압축해제및환경변수설정 Path 에 경로추가 5

4. 도구설치방법 4.3 Eclipse 에서 설치여부확인하기 메뉴의 Windows Show View 를클릭 윈도우가생성됨을확인 6

5. 도구기능소개 세부목차 5.1 의개요 5.2 프로젝트에서 Build파일생성 5.3 Build.xml의구조 5.4 Eclipse Build 하기 5.5 Hudson과의연계 1

5. 도구기능소개 5.1 의개요 Apache 는빌드도구소프트웨어 GNU make 의 Java 버젂 운영체제 (OS) 등특정환경에의존하지않는빌드도구 XML 문서빌드 ( 소프트웨어구축 ) 의규칙을작성하는것이특징 통합개발환경 Eclipse 는 플러그인이기본으로내장 원래 Apache Tomcat 을빌드하기위해개발된것 태스크기반의 XML 요소를빌드파일에작성하여빌드규칙을생성 기본적으로 build.xml 형태로존재 플러그인으로제공되고있는것을외부에서채용하는것으로, 추가가능 의응용프로그래밍인터페이스 (API) 에따라 Java 로작성하여직접작성및수정가능 최근 Java 뿐만아니라 IKVM.NET 프로젝트및 Mono ( 소프트웨어 ) 프로젝트에서 task for IKVMC 로.NET Framework 에서의이용촉짂중 2

5. 도구기능소개 5.2 프로젝트에서 Build 파일생성 (1/4) 프로젝트우클릭 Export 클릭 3

5. 도구기능소개 5.2 프로젝트에서 Build 파일생성 (2/4) JAVA Buildfiles 선택 Next 4

5. 도구기능소개 5.2 프로젝트에서 Build 파일생성 (3/4) 프로젝트를선택 Finish 5

5. 도구기능소개 5.2 프로젝트에서 Build 파일생성 (4/4) Build 파일생성결과 Build.xml 파일이생성된것을확인할수있음 6

5. 도구기능소개 5.3 Build.xml 의구조 (1/7) 의 Build.xml 파일 : Project 요소, Target 요소, Task 요소를포함 Eclipse 에서생성한기본 build.xml 파일 7

5. 도구기능소개 5.3 Build.xml 의구조 (2/7) 타깃간의의존관계는 target 요소의 depends 속성으로기술 그림예시 : dist 타깃은 compile 타깃에의존 compile dist clean 순으로동작 일반적인 의명령어 property : 속성을지정 mkdir : 새로운디렉토리생성 copy : 파일, 디렉토리복사 javac : 컴파일 jar : jar 파일생성 javadoc : javadoc 생성 delete : 파일, 디렉토리삭제 Java : Java 프로그램을실행 Junit : 테스트프레임워크 JUnit 을사용하여 Java 프로그램을테스트 Jnitreport : junit 작업출력결과파일을사용하여 HTML 형식등에대응하는보고서를생성 ftp : FTP 연결을시작하고파일업로드, 다운로드등을가능하게함 zip : 지정된디렉토리와파일을 ZIP 형식으로압축 보관 echo : 콘솔 ( 명령라인환경 ) 에문자열출력 splash : 런타임에지정된시간동안시작표시 buildnumber : 빌드번호를업데이트 8

5. 도구기능소개 5.3 Build.xml 의구조 (3/7) property : 속성을지정 속성에서는대소문자를구별 foo.src 라는이름의속성으로 "src" 를지정시 <property name="foo.src" value="src" /> 빌드스크립트의다른부분에서이속성을참조하려면 "${foo.src}" 와같이기록 <javac srcdir="${foo.src}" destdir="${build}" /> 파일을읽어속성을설정 <javac file="foo.properties" /> mkdir : 새로운디렉토리생성 디렉토리생성예시 <mkdir dir="${dist}" /> <mkdir dir="${dist}/lib" /> 9

5. 도구기능소개 5.3 Build.xml 의구조 (4/7) copy : 파일, 디렉토리복사 파일하나복사예시 <copy file="myfile.txt" tofile="mycopy.txt" / > 디렉토리에서다른디렉토리복사예시 <copy todir="../new/dir > <fileset dir="src_dir > </copy> 특정디렉토리의원하는파일만지정하여복사 : *.java 파일을제외한나머지파일복사예시 exclude 는특정내용을제외하는키워드이고 ** 의경우 src_dir 디렉토리아래모든디렉토리를재귀적으로탐색 <copy todir="../dest/dir > <fileset dir="src_dir > <exclude name="**/*.java" /> </fileset> </copy> 10

5. 도구기능소개 5.3 Build.xml 의구조 (5/7) javac : JAVA 소스파일의컴파일 재귀적으로탐색하여, class 파일이없거나 class 파일이 java 파일보다오래된경우에만컴파일 ${src} 와그하위디렉토리에있는모든 java 파일을컴파일예시 결과를 ${build} 디렉토리에저장, 클래스패스에는 xyz.jar 가포함되고, 디버깅옵션을켜고컴파일 <javac srcdir="${src}" destdir="${build}" classpath="xyz.jar" debug="on" /> ${src} 와 ${src2} 및그하위디렉토리에있는 java 파일을컴파일 : 결과를 ${build} 디렉토리에저장 mypackage/p1 과 mypackage/p2 에있는파일만을사용하고, 클래스패스에 xyz.jar 가포함 여기서 include 가특정내용을포함하는키워드입니다 <javac srcdir="${src}:${src2}" destdir="${build} include="mypackage/p1/**,mypackage/p2/** exclude="mypackage/p1/testpackage/**" classpath="xyz.jar' debug="on" /> 11

5. 도구기능소개 5.3 Build.xml 의구조 (6/7) jar : 지정된파일들을 jar 로묶습니다. ${build}/classes 밑에있는파일을 app.jar 로묶기 <jar destfile="${dist}/lib/app.jar" basedir="${build}/classes" /> mypackage/text 밑에있는파일만을묶고 Test.class 는제외 <jar destfile="${dist}/lib/app.jar" basedir="{build}/classes" include="mypackage/test/**" exclude="**/test.class" /> ${build}/classes 와 ${src}/resources 밑에있는파일을 app.jar 로묶되, Test.class 는제외 <jar destfile="${dist}/lib/app.jar > <fileset dir="${build}/classes" exclude="**/test.class" /> <fileset dir="${src}/resources" /> </jar> javadoc : javadoc 문서를생성, src 디렉토리밑에있는소스파일을읽어 javadoc 문서를생성하여 ${doc} 디렉토리에저장 <javadoc destdir="${doc} > <fileset dir="${src} > </fileset> </javadoc> 12

5. 도구기능소개 5.3 Build.xml 의구조 (7/7) delete : 하나의파일또는디렉토리와그하위디렉토리, fileset 에지정된파일을삭제 /lib/ant.jar 파일을삭제 <delete file="/lib/ant.jar" /> lib 디렉토리와그하위디렉토리를삭제 <delete dir="/lib" /> 현재디렉토리와그하위디렉토리에서확장자가 bak 인모든파일을삭제 <delete> <fileset dir="." include="**/*.bak" /> </delete> build 디렉토리와그하위디렉토리를삭제합니다. includeemptydirs 를 "true" 로설정하면 fileset 을사용할때빈디렉토리도포함 <delete includeemptydirs="true > <fileset dir="build" /> </delete> 13

5. 도구기능소개 5.4 Eclipse Build 하기 (1/2) Add Buildfile Finish 클릭 Eclipse 내부에서생성된 파일읽기 14

5. 도구기능소개 5.4 Eclipse Build 하기 (2/2) Eclipse 의 Build 결과 프로젝트트리탐색기의 Build 할부분을선택 Run the selected target 버튺 / 더블클릭 15

5. 도구기능소개 5.5 Hudson 과의연계 (1/3) Hudson 프로젝트생성 새작업 작업명입력 OK 16

5. 도구기능소개 5.5 Hudson 과의연계 (2/3) 설정 : Build Add Build step Invoke Build Triggers 에서빌드시점지정가능 17

5. 도구기능소개 5.5 Hudson 과의연계 (3/3) Build 수행 Build now 를눌러실행하거나, 설정된 Build plan 에따라 Build 수행 18

6. 도구활용예제 세부목차 6.1 예제소개 6.2 build.xml생성 6.3 Eclipse내부에서 사용하기 6.4 Hudson설정및연계 1

6. 도구활용예제 6.1 예제소개 (1/2) 예제시스템 : A업체의 적용 A업체의상황및개선예정사항 A업체는자바기반의객체지향프로그래밍을위해 Eclipse 를사용 A업체는빈번한코드변경이일어나지만, Build 와 Compile 및 Test 가자동화되지않아잦은배포문제를겪음 A업체는 와 Hudson 을사용하여자동생성체계를갖춤 2

6. 도구활용예제 6.1 예제소개 (2/2) A 업체의몇가지이슈사항 소스코드의변경이자주일어남 잦은변경으로인한테스트와배포과정의자동화가필요 공개측정도구인 를도입, 프로그램을효율적으로측정, 관리하기로결정 도입효과 - Build부터 Test, 배포까지자동화 - 자동화된체계로인한노력절감 - 정해진 Build로인한최신화유지 3

6. 도구활용예제 6.2 build.xml 생성 (1/4) 프로젝트우클릭 Export 클릭 Build.xml 파일을추출하는과정 4

6. 도구활용예제 6.2 build.xml 생성 (2/4) JAVA Buildfiles 선택 Next 5

6. 도구활용예제 6.2 build.xml 생성 (3/4) 프로젝트를선택 Finish 6

6. 도구활용예제 6.2 build.xml 생성 (4/4) 생성된 Build 파일을수정 생성된 Build 파일을자동화 Build 목표에맞게수정 7

6. 도구활용예제 6.3 Eclipse 내부에서 사용하기 (1/2) Add Buildfile Finish 클릭 Eclipse 내부에서생성된 파일읽기 8

6. 도구활용예제 6.3 Eclipse 내부에서 사용하기 (2/2) Eclipse 의 Build 결과 프로젝트트리탐색기의 Build 할부분을선택 Run the selected target 버튼 / 더블클릭 9

6. 도구활용예제 6.4 Hudson 설정및연계 Hudson 에서 Build 설정및 Build 결과 10

7. FAQ 질문 1) 의약자는무엇인가요? 단순히개미에서따온것인가요? 답변 1 : 는 Another Neat Tool 의약어입니다. 질문 2) 가개발된동기나배경은어떠합니까? 답변 1 : JSP/Servlet 표준구현엔진 (Tomcat 으로발전되기전 ) 을오픈소스화하던중 make 를이용하여작업하였으나, 다른환경에서는이를수행할수있는오픈소스소프트웨어가없었기때문에개발하게되었습니다. 그리하여 Tomcat 을빌드하기위한툴에서현재의모습으로발전하게되었습니다. 1

8. 도구평가 활용성 빌드자동화도구중에최고의활용성 범용성 대부분의자바 IDE 도구에기본채택 호환성 JAVA 환경에서완벽하게작동, ( 버전별최소요구자바버전이존재, 1.5 이상에서모두가능 ) 성능 빌드수행능력에있어서일반적인 Build성능과별다른차이가없다, 오히려자동화로효율적 기타 다른관리도구와연계지원 도구평가의견 는 Eclipse 에서기본탑재되어있으며, 자동화빌드를지원 자체 JUnit 테스트기능을지원 XML을수정하여원하는형태의 Build 를자동화할수있으며, 명령어를통해폴더생성및테스트까지완벽하게지원 1

9. 용어정리 본매뉴얼에서사용하고있는용어의정리 JUnit 단위테스트 Java 기반테스팅을위한프레임워크로, 단위모듈 (ex: Method) 이정확히구 현되었는지를확인할수있는도구 단위테스트는단위코드에서문제발생소지가있는모든부분을테스트하는작업 빌드자동화 개발자가개발한소프트웨어의개발과정중 Build 과정을자동화한것. Build 시점을정할수있으며, 시점에는트리거발생시, 업데이트시, 일단 위 (Daily Build) 등이존재 1