Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

Docker ?

CM/docker 2017.06.27 15:23
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T





 Docker?
  • 2013년 3월 Docker, Inc에서 출시한 오픈소스 컨테이너 프로젝트
  • 복잡한 리눅스 어플리케이션을 컨테이너로 묶어서 실행할 수 있음.
  • 리눅스 커널에서 제공하는 컨테이너 기술을 이용.
  • 컨테이너(이미지)를 전 세계 사람들과 공유
  • Github와 비슷한 방식의 Docker Hub 제공.
  • 이미지 생성과 배포에 특화.
    • 이미지 버전관리 제공, 중앙저장소에서 이미지를 올리고 받을 수 있음. (push/pull)

컨테이너?
  • 가상화보다 훨씬 가벼운 기술.
    • 가상머신 : 컴퓨터 안에서 컴퓨터를 만들어내기 위한 시도(1960년 대에 가상화 개념이 처음 등장)
      • 컴퓨터 통째로 만들어내다보니 각종 성능 손실이 발생. -> 리눅스 컨테이너 등장.
  • 컨테이너 안에 가상공간을 만들지만 실행 파일을 호스트에서 직접 실행.(리눅스 커널의 groups, namespaces가 제공하는 기술)



도커는 리눅스 컨테이너를 사용!
  • 초기에는 LXC(Linux Container)를 기반으로 구현.
  • 버전 0.9 부터는 LXC를 대신하는 libcontainer를 개발하여 사용.
  • 실행 옵션으로 선택 가능.

이미지와 컨테이너의 구분
  • 이미지 : 서비스 운영에 필요한 서버 프로그램
    • 소스코드, 컴파일된 실행 파일을 묶음 형태.
    • 저장소에 올리고 받는것은 이미지!(push/pull)
    • 이미지로 여러 개의 컨테이너를 만들수 있음.
  • 컨테이너 : 이미지를 실행한 상태!


도커 사용
docker + <명령>
예) docker run, docker push
* 항상 root 권한으로 실행.

  • docker hub에서 이미지 검색해보기
    • docker search <image name>
      • sudo docker search ubuntu
  • docker hub에서 이미지를 받아보자.
    • docker pull <image name>:<tag>
      • sudo docker pull ubuntu:latest
  • 모든 이미지를 출력해보기
    • docker images
      • sudo docker images
  • 이미지를 컨테이너로 생성한 뒤 Bash shell 실행해보기.
    • docker run <옵션> <이미지 이름> <실행할 파일>
      • sudo docker run -i -t —name hello ubuntu /bin/bash
      • -i : interactive / -t : passed-tty
        • 실행된 Bash 쉘에 입력 및 출력 가능.
      • —name : 컨테이너 이름을 지정. 미지정시 자동으로 이름을 생성하여 지정.
  • 모든 컨테이너 목록 출력
    • docker ps
      • sudo docker ps -a
  • 컨테이너 시작
    • docker start(restart) <컨테이너 이름>
      • sudo docker start hello
  • 방금 시작한 컨테이너에 접속해보기
    • docker attach <컨테이너 이름>
      • sudo docker attach hello
  • /bin/bash를 통하지 않고 외부에서 컨테이너 안의 명령 실행해보기
    • docker exec <컨테이너이름> <명령> <매개변수>
      • sudo docker exec hello echo “hello world”
  • 컨테이너 중지
    • docker stop <컨테이너 이름>
      • sudo docker stop hello
  • 컨테이너 삭제
    • docker rm hello
      • sudo docker rm hello
  • 이미지 삭제
    • docker rmi <이미지 이름>:<태그>
      • sudo docker rmi ubuntu:latest



저작자 표시 비영리 변경 금지
신고

'CM > docker' 카테고리의 다른 글

Docker ?  (0) 2017.06.27
about docker  (0) 2017.04.27

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

jenkins setting

CM/Jenkins 2017.04.28 11:37
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



OS : CentOS 7.2



JDK : jdk8

명령어 : sudo yum install -y java-1.8.0-openjdk



Tomcat : 9

http://tomcat.apache.org/



Jenkins

War file : curl -L -O http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war

Tomcat 위치 : /apache-tomcat-9.0.0.M20/webapps 에 Jenkins.war를 배치! 그리고나서 톰캣을 기동 시킨다.


go (build target : go lang)

sudo yum install go


tomcatJenkins가 풀리면

http://localhost:8080/jenkins로 붙어서 좀 더 세부적인 셋팅을 하면 된다.




저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

jenkins setting  (0) 2017.04.28
Jenkins Overall/Read permission  (0) 2017.04.27
빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Jenkins Overall/Read permission

CM/Jenkins 2017.04.27 15:23
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


Jenkins Overall/Read permission


LDAP 설정하다가;; 전부 날아갔을 때!! 


Jenkins의 config.xml를 열어서 설정을 해주면 된다.

<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy"/> 이렇게 되어있는데
이것을 아래처럼 설정하면 잘되어진다 ㅎㅎ
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
<permission>hudson.model.Hudson.Administer:***Here is your username***</permission>
</authorizationStrategy>




저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

jenkins setting  (0) 2017.04.28
Jenkins Overall/Read permission  (0) 2017.04.27
빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

about docker

CM/docker 2017.04.27 14:40
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


docker 란?

docker install 

docker 명령어

docker 오류



docker란?

참조 사이트 : 

https://www.slideshare.net/pyrasis/docker-docker-38286477

http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/


docker install - CentOS 7 ver.

아래의 부분이 없으면 최신버전으로 install 되지 않는다.

sudo vi /etc/yum.repos.d/docker.repo   

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg 


sudo yum makecache fast # 레파지토리 캐시 만들기


sudo yum -y install docker-engine


docker 명령어

daemon 띄우기

  - sudo service docker restart 또는 sudo systemctl restart docker.service

  - 참고: http://stackoverflow.com/questions/35969721/run-docker-in-daemon-mode


동작 중인 컨테이너 확인

docker ps


정지된 컨테이너 확인

docker ps -a


컨테이너 삭제

docker rm [컨테이너 id]


현재 이미지 확인

docker images


이미지 삭제

docker rmi [이미지 id]


컨테이너 삭제 전에 이미지를 삭제할 경우

-f 옵션을 붙이면 컨테이너도 강제 삭제.

docker rmi -f [이미지id]



docker 오류

1. shim error: docker-runc not installed on system 발생.

해결책으로 sudo ln -s docker-runc-current docker-runc 수행. 그러나 역시 해결 X.


아래의 명령 수행 후 다시 셋팅 도오전..

sudo yum remove docker \                  

docker-common \                  

container-selinux \                  

docker-selinux \                  

docker-engine


2. Cannot connect to the Docker daemon. Is the docker daemon running on this host?

sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & 로 하였으나 이방법 보다는 sudo service docker restart 이 방법이 더 나은것 같다.


3. docker 명령어를 수행하는데 있어서 뭔가 방화벽이 막혀있는것 처럼 보인다면..(CentOS 7 기준)

firewalld를 셋팅하여 포트를 설정하여 본다.

참고 :

https://www.lesstif.com/pages/viewpage.action?pageId=22053128

https://okky.kr/article/276568



저작자 표시 비영리 변경 금지
신고

'CM > docker' 카테고리의 다른 글

Docker ?  (0) 2017.06.27
about docker  (0) 2017.04.27

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

빌드&배포 시스템 구축

CM/Jenkins 2017.04.25 18:46
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

환경

  • OS : CentOS 7.x
  • CI Tool : Jenkins
    • apache tomcat 9
    • jdk 8
  • Build Target : go lang
    • git setting
    • go sdk setting
    • glide setting
    • docker-client setting


============ show docker images =============
+ docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
/terry_park/vsc   v0.3              e1ad78d5741f        3 seconds ago       858MB
/terry_park/vsc   v0.2              384a8f1df578        6 minutes ago       858MB
/terry_park/vsc   v0.1              219d8bcc0779        3 hours ago         1.04GB
+ echo '============ docker push ================'
============ docker push ================
+ docker push /terry_park/vsc
The push refers to a repository [/terry_park/vsc]



ansible 작업은 pass~ 다른분이 작업! 아쉽게 mesos를 사용하려다가 사용하지 않는걸로..

저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

jenkins setting  (0) 2017.04.28
Jenkins Overall/Read permission  (0) 2017.04.27
빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Error injecting: org.apache.maven.shared.dependency.graph.internal.Maven3DependencyGraphBuilder

CM/Maven 2016.01.04 23:44
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

mavne으로 패키징을 하는데..아래처럼 오류가 났다-_-;;

Error injecting: org.apache.maven.shared.dependency.graph.internal.Maven3DependencyGraphBuilder

뭔가 깨진듯 하다..기존에 있던 메이븐을 다른 프로젝트에 재사용하면서 난 문제이다.


그래서 아래와 같이 3.0.5버전을 받아서 연결한 뒤 다시 패키징해보니 잘되었다.



인텔리J 설정은 아래처럼 하였습니다.



 - 끝 -



저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

젠킨스 빌드 오류

CM/Jenkins 2015.01.16 11:28
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

빌드 시에 아래와같이 PermGen space오류가 났습니다. ㄷ ㄷ ㄷ 




톰캣에서 바꿔줘야하네요!

저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

Jenkins Overall/Read permission  (0) 2017.04.27
빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23
Jenkins Upgrade  (0) 2012.07.05

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

about svn:externals

CM/Svn 2015.01.15 14:29
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

svn에서 svn:externals라는 것이 있다 svn:merge등 다양하다! 

svn:externals는 편집하여 체크아웃이나 업데이트 받을 때 외부 모듈을 함께 받는 것이다.


IDE마다 다르지만..인텔리J에서는 아래와 깉이 설정 및 확인을할 수 있다.



설정을 바꾼 뒤에는 커밋을 해주어야 반영이 된다.


이클립스만 쓰다가 인텔리J를 사용하니..엄청 어리버리까고 있다..ㅠ_ㅠ 쿨럭~ 커밋도 안치고 반영된줄..ㄷㄷ 


암튼 어리버리까지말고 똑똑해지자~~~  끝.


저작자 표시 비영리 변경 금지
신고

'CM > Svn' 카테고리의 다른 글

about svn:externals  (0) 2015.01.15
ubuntu에 svn 설치 하기(CollabNet Subversion Edge)  (6) 2013.06.04
이클립스 SVN Repository에서 한글 깨짐 현상  (0) 2012.06.19
배포 하기  (0) 2012.02.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Jenkins Setting

CM/Jenkins 2015.01.15 14:24
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



1) Jenkins 설치

Jenkins는 http://jenkins-ci.org/ 에 가서 다운!

가장 최신으로 다운로드 함!




톰캣 다운로드 및 jenkins war 넣어주기!

톰캣 8은 자동으로 안풀렸다..war가..ㄷㄷ 그래서 7로 다운해서 셋팅!

참고 : 83번 게시물 


결과는 아래!


- 끝 -



저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23
Jenkins Upgrade  (0) 2012.07.05
[Jenkins] Slave를 위한 Job 설정  (2) 2012.07.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

메이븐 install 시에 테스트 건너뛰기 명령어

CM/Maven 2015.01.14 10:45
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



위처럼  -Dmaven.test.skip=true를 추가해주면 된다.

또는 아래처럼 maven에 추가 해주면 된다.

<properties>
<maven.test.skip>true</maven.test.skip>
</properties>


저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

github 오류 - Permission denied (publickey)

CM/Github 2014.09.17 01:00
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

상황설명


이클립스에서 하둡소스를 코딩하고 github에 명령어로 소스를 올려보려고 하였다..하지만 문제에 봉착!! 오류는 아래와 같았다.



오류내역

$ git push -u hadoopOrigin master

Permission denied (publickey).

fatal: Could not read from remote repository. 



해결방법


1) 아래의 사이트에서 확인해보니 ssh문제였다..


https://help.github.com/articles/error-permission-denied-publickey


2) ssh를 생성해자~ssh-keygen~! gogo~!


ssh-keygen -t rsa -C "git login id(e-mail address)"


ssh-keygen -t rsa -C "acetxxxx@hanmail.net"

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/AceT/.ssh/id_rsa): 

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /Users/AceT/.ssh/id_rsa.

Your public key has been saved in /Users/AceT/.ssh/id_rsa.pub.

The key fingerprint is:

f9:a2:b7:d1:0a:24:8------------:3c:1a:05 acetaeha@hanmail.net

The key's randomart image is:

+--[ RSA 2048]----+

|   E             |

|. . .            |

|o+ . .           |

|+o+ o    .       |

|.o.o.=. S        |

|   .*o.  o       |

|   . .. o o      |

|       o.+       |

|      ..o.       |

+-----------------+


3) 하둡 설치때와 동일하게 public key를 복사하자!

/Users/AceT/.ssh/id_rsa.pub 의 내용 복사!


4) https://github.com/settings/ssh  로 가서 셋팅 해주면 된다!

  - Settings을 눌러보시면 SSH관련 메뉴가 좌측에 나옵니다.


 - Add an SSH Key : 조금전에 복사한 키값을 아래처럼 넣어주시면 됩니다. 




 5) 확인

$ ssh -T git@github.com

Hi acetaeha! You've successfully authenticated, but GitHub does not provide shell access.


 6) 다시 push해보면 잘되어집니다.

$ git push -u hadoopOrigin master

Counting objects: 3, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (2/2), done.

Writing objects: 100% (3/3), 275 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To git@github.com:acetaeha/hadoopStudy.git

 * [new branch]      master -> master

Branch master set up to track remote branch master from hadoopOrigin.


6) 결과




 - END -


저작자 표시 비영리 변경 금지
신고

'CM > Github' 카테고리의 다른 글

github 오류 - Permission denied (publickey)  (0) 2014.09.17

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[소소한 테스트] Maven과 dependency

CM/Maven 2013.08.21 13:43
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

 

정리를 해야겠다는 생각을 하였다.

그냥 지나쳐버린 것들이 많이 있기 때문이다.

그냥 느낌 또는 대충 알고 있는 것들에 대한 불안감 또는 답답함을 해소하기 위해서..

소소한 테스트와 메카니즘을 알아가보자^-^good~

 

 

2013/08/20 - [CM/Maven] - pom.xml 을 알아보자!

 

pom.xml 에서 <dependencies> 엘리먼트에 spring 관련 내용을 넣어보자.

spring-core, spring-aop, spring-webmvc-protlet 이렇게 3가지!!

당연히 jar파일이 3개가 나올 것이라 생각 할 수 있다.

 

<dependencies>

  <!-- ======================== -->
  <!-- Spring Framework -->
  <!-- ======================== -->

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-core</artifactId>
   <version>${org.springframework.version}</version>
  </dependency>

 

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-aop</artifactId>
   <version>${org.springframework.version}</version>
  </dependency>

 


  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc-portlet</artifactId>
   <version>${org.springframework.version}</version>
  </dependency>

 

 

하지만!! 3개가 아닌 다수의 jar파일들이 Maven Dependencies에 놓이게 된다.

 

spring-core-3.1.1.RELEASE.jar
spring-asm-3.1.1.RELEASE.jar
commons-logging-1.1.1.jar
spring-aop-3.1.1.RELEASE.jar
aopalliance-1.0.jar
spring-beans-3.1.1.RELEASE.jar
spring-webmvc-portlet-3.1.1.RELEASE.jar
spring-context-3.1.1.RELEASE.jar
spring-expression-3.1.1.RELEASE.jar
spring-web-3.1.1.RELEASE.jar
spring-webmvc-3.1.1.RELEASE.jar
spring-context-support-3.1.1.RELEASE.jar

 

그 이유인 즉, dependency 때문이다!..

 

Dependency Hierarchy를 보면 쉽게 알 수 가 있다.

 

spring-core는 spring-asm, commons-logging

spring-aop는 aopalliance, spring-asm, spring-beans, spring-core

spring-webmvc-portlet는 여러가지..--;;

 

anyways..소소한 테스트의 결과는 3가지가 아닌 dependency에 걸려있는 것들을 모두 가져온다는 것이다.

 

그렇다면, 분명히 중복도 있었다. 예를 들면 spring-core와 spring-aop에서 spring-asm이 중복 되어지지만 jar파일은 spring-asm-3.1.1.RELEASE.jar 하나인 것이다.

 

그리고 여기에서 또 생각 해 볼 수 있는 것은 dependency에 걸려있는 것이 있을 수 있고, 새롭게 버전이 높은 것을 녀석을 사용하게 될 경우도 있을 것이다.

 

이런 경우는 어떻게 해야 할까?

앞으로 정리하면서 알아가보도록 하자^-^good~

 

- 끝 -

 


 

 

 

 

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

pom.xml 을 알아보자!

CM/Maven 2013.08.20 19:30
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

  

 

   오늘은 pom.xml에 대해..알아보자~!  

   maven을 모르겠다는 분은 자바지기 박재성님의 "자바세상의 빌드를 이끄는 메이븐" 책을 추천한다.

 

  pom => project obejct model

 

   기본 뼈대..대충 이러하다!!

더보기

 

 <build>

  maven-compiler-plugin : The Compiler Plugin is used to compile the sources of your project.

  출처 : http://maven.apache.org/plugins/maven-compiler-plugin/

 

  maven-dependency-plugin :   The dependency plugin provides the capability to manipulate 

    artifacts. It can copy and/or unpack artifacts from local or remote repositories to a specified

    location.

출처 : http://maven.apache.org/plugins/maven-dependency-plugin/

 

 

maven-eclipse-plugin :

The Eclipse Plugin is used to generate Eclipse IDE files (*.classpath, *.wtpmodules and the .settings folder) for use with a project.

Note: Starting at version 2.6, by default, the generated .classpath now includes "**/*.java" for source directories and excludes "**/*.java" for resource directories. See the example on specifying source path inclusions and exclusions for more details on how to change this behavior.

출처 : http://maven.apache.org/plugins/maven-eclipse-plugin/

 

 

음...작성하다보니 아래의 tag들은 CI에서 사용하면 될 것 같다.

 

 <!--  CM에서 사용 할 plug-in들을 정의 한다. -->
 <build></build>

 <repositories></repositories>

 <distributionManagement></distributionManagement> 
 <scm></scm> 
 <ciManagement></ciManagement>

 

CI Server : 부모 pom.xml

각 모듈 프로젝트 : 자식 pom.xml, 자식 pom.xml

 

자식 pom에서 부모쪽을 상속받아서 사용하면 될 것이다. 즉, 공통적으로 쓰는 내용은 부모pom에!!

<parent></parent> 를 사용하면 될 것이다.

 

ex ) 붉은색 글씨는 부모pom.xml의 내용이다.

       <parent> 엘리먼트를 설정하면 상위 디렉토리에 있는 pom.xml 파일을 부모 pom으로 찾는다.

       경로를 지정하고자 한다면 <relativePath/> 엘리먼트로 pom.xml 경로를 지정 할 수 있다.

더보기

 

 마지막으로 플러그인쪽은 아래의 URL을 참조 하면 될 것 같다~

빌드와 레포팅 관련 플러그인에 대해서 나오고 있다.

http://maven.apache.org/plugins/


- END -


 

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

ubuntu에 svn 설치 하기(CollabNet Subversion Edge)

CM/Svn 2013.06.04 01:49
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



http://www.open.collab.net/nonav/downloads/subversion/readme/csvne_linux32linux64.html

 

CollabNet Subversion Edge - Linux 32/64-bit
Version 2.3.0
Release Date: March 2012

Contents

   1. Overview
   2. Platform and configuration
   3. Requirements
   4. Installation notes
   5. Updates
   6. Documentation
   7. Known issues
   8. Support for CollabNet Subversion Edge
   9. About Subversion and CollabNet
   
1. Overview

   CollabNet Subversion Edge includes everything you need to install, manage
   and operate a Subversion server.  It includes all of the Subversion and
   Apache binaries needed to run a Subversion server.  It also integrates the
   popular ViewVC repository browsing tool so that users can view repository
   history from a web browser.

   CollabNet Subversion Edge also includes a powerful web-based management
   console that makes it easy to configure and manage your Apache server and
   Subversion repositories.  You can easily setup the server to use SSL
   connections and even connect the server to a corporate LDAP repository,
   including Microsoft Active Directory.

   CollabNet Subversion Edge only supports serving Subversion repositories via
   Apache httpd and it only supports the Subversion fsfs repository format.
  
2. Platform and configuration

   Product: CollabNet Subversion Edge
   License: GNU Affero General Public License 3.0 (AGPLv3)
   Certified platforms: Red Hat Enterprise Linux 6.x and 5.x 
                        CentOS 5.x
                        SuSE Linux Enterprise 11.x
   
   NOTE: These are the platforms we formally certify when testing.  CollabNet
   Subversion Edge is known to work on virtually all Linux distributions and is
   informally tested on others such as Ubuntu and Fedora.
   
   There are separate downloads for 32-bit and 64-bit Linux.  Download the 
   appropriate version for your distribution and kernel.
   
3. Requirements
   
   * Java 1.6 JRE/JDK must be installed. We recommend the JRE provided by
     Sun/Oracle.  When testing on 64-bit Linux we have used the 64-bit JVM.
   
   * Python 2.4 to 2.6 must be installed.
 
4. Installation Notes

   IMPORTANT: Do not untar CollabNet Subversion Edge using root or sudo.  This
   will cause the UID/GID on the files to carry the values from our build
   system instead of being reset.
   
   1. Set the JAVA_HOME environment variable, and point it to your Java 6 JRE
      home.  For example:

      export JAVA_HOME=/usr/java/default
   
      Test the variable:
   
      $ $JAVA_HOME/bin/java -version
      java version "1.6.0_20"
      Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
      Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
   
   2. Switch to the folder where you want to install CollabNet Subversion
      Edge.  You must have write permissions to this folder.
      
      $ cd /opt
      
   3. Untar the file you downloaded from CollabNet.
   
      $ tar zxf CollabNetSubversionEdge-x.y.z_linux-x86.tar.gz
      
      This will create a folder named "csvn" in the current directory. You can
      rename this folder if desired.
      
   4. Optional. Install the application so that it will start automatically
      when the server restarts.  This command generally requires root/sudo to
      execute.
      
      $ cd csvn
      $ sudo -E bin/csvn install
      
      In addition to configuring your system so that the server is started
      with the system, it will also write the current JAVA_HOME and the
      current username in to the file data/conf/csvn.conf.  You can edit this
      file if needed as it controls the startup settings for the application.
      By setting the JAVA_HOME and RUN_AS_USER variables in this file, it
      ensures they are set correctly when the application is run.
      
   5. Optional. Configure proxy settings.  CollabNet Subversion Edge need
      access to the internet to check for and install updates.  If you need to
      go through a proxy to access the internet, then you can configure the
      proxy by editing the data/conf/csvn.conf file which was created by the
      previous step.  Uncomment and edit the HTTP_PROXY variable to configure
      your proxy server.
      
   6. Start the server.  Be sure that you are logged in as your own userid and
      not running as root.
      
      $ bin/csvn start
      
      This will take a few minutes and the script will loop until it sees that
      the server is running.  If the server does not start, then try starting
      the server with this command:
      
      $ bin/csvn console
      
      This will start the server but output the initial startup messages to
      the console.

   You must login to the CollabNet Subversion Edge browser-based management
   console and configure the Apache server before it can be run for the first
   time.  The UI of the management console writes the needed Apache
   configuration files based on the information you provide.

   The default administrator login is:

   Address: http://localhost:3343/csvn
   Username: admin
   Password: admin
   
   Subversion Edge also starts an SSL-protected version using a self-signed SSL
   certificate.  You can access the SSL version on this URL:
   
   Address: https://localhost:4434/csvn
 
   You can force users to use SSL from the Server configuration.  This will cause
   attempts to access the site via plain HTTP on port 3343 to be redirected to the
   secure port on 4434.

5. Updates

   CollabNet Subversion Edge includes a built-in mechanism for discovering and 
   installing updates.  You must use this facility to install updates.  Do not
   download and run a new version of the application installer.

   The update mechanism will require you to restart the servers at the end of
   the process, but it will do it for you.

6. Documentation
   
   Documentation for CollabNet Subversion Edge is available here:

   http://help.collab.net/
   
   Context-sensitive help is also linked to this location from within the
   application.
  

7. Known issues

   - For the latest FAQ, visit the project home page here:
   
     https://ctf.open.collab.net/sf/projects/svnedge

   - If you try to access an existing BDB (Berkeley DB) based repository
     through CollabNet Subversion Edge, then you will receive an alert "Failed
     to load module for FS type 'bdb'." This is because CollabNet Subversion
     Edge does not support BDB.  CollabNet recommends FSFS over BDB for ease
     of maintenance and supportability.
     
    - You can access the application from localhost, but not other computers
    on your LAN.  This usually means that you need to configure Firewall rules
    for you server to open the firewall for port 3343:
    
	edit /etc/sysconfig/iptables
	edit /etc/sysconfig/ip6tables
		
	Add the following line to the above files, it line be will the line before
	the last 2 lines.
		
	-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3343 -j ACCEPT

	/etc/init.d/iptables restart
	/etc/init.d/ip6tables restart

8. Support for CollabNet Subversion Edge

   Ask questions and get assistance with using CollabNet Subversion Edge via
   the community forums on openCollabNet.  The forum for CollabNet Subversion
   Edge questions is available here:

   http://subversion.open.collab.net/ds/viewForumSummary.do?dsForumId=3

   Find out about CollabNet Technical Support at 
   http://www.open.collab.net/support/
   
   Information about CollabNet Training, Consulting, and Migration
   services is at http://www.open.collab.net/training/
   
   Join openCollabNet for community support: http://open.collab.net

9. About Subversion and CollabNet

   CollabNet launched the Subversion project in 2000 in response to the demand 
   for an open standard for Web-based software configuration management that 
   could support distributed development. CollabNet continues to be strongly 
   involved with the Subversion project and offers CollabNet Subversion
   Support, Training, and Consulting services. 
   
   CollabNet also provides the most widely used collaborative development 
   environment in the world. More than 1,400,000 developers and IT projects 
   managers collaborate online through CollabNet. The company is transforming 
   the way software is developed by enabling organizations to leverage global 
   development talents to deliver better products and innovate faster. 
   
   Visit CollabNet at http://www.collab.net for more information.
   
   Subversion is a registered trademark of the Apache Software Foundation.
   http://subversion.apache.org/


저작자 표시 비영리 변경 금지
신고

'CM > Svn' 카테고리의 다른 글

about svn:externals  (0) 2015.01.15
ubuntu에 svn 설치 하기(CollabNet Subversion Edge)  (6) 2013.06.04
이클립스 SVN Repository에서 한글 깨짐 현상  (0) 2012.06.19
배포 하기  (0) 2012.02.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

  • Favicon of http://blog.anyjava.net BlogIcon anyjava 2013.12.03 01:36 신고 답글 | 수정/삭제 | ADDR

    형 혹시 git 사용 해 봤어?

    • Favicon of http://acet.pe.kr BlogIcon String Ace-T 2013.12.03 19:46 신고 수정/삭제

      local git만 써봤어~
      github은 대충 설명만 들었어~~
      사용해 볼려고??

  • Favicon of http://www.scrumstudy.com/ BlogIcon kenley 2014.05.22 18:54 신고 답글 | 수정/삭제 | ADDR

    Nice Post!

  • Favicon of http://www.pmstudy.com/ BlogIcon Craige 2014.05.22 18:56 신고 답글 | 수정/삭제 | ADDR

    More and more companies are trying to get nimble to enable them to respond to change with agility. Over the years, there has been a clear shift in momentum about the ways how companies manage projects. So, the project manager should be a PMP certified, who can better handle the planning, execution, and closing of any project. To get yourself prepared for PMP http://www.pmstudy.com is good one

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile (execution: default-testCompile, phase: test-compile)

CM/Maven 2012.11.14 01:30
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile (execution: default-testCompile, phase: test-compile)


CoreException: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.3.2 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2: ArtifactResolutionException: Failure to transfer org.apache.maven.plugins:maven-compiler-plugin:pom:2.3.2 from
http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-compiler-plugin:pom:2.3.2 from/to central (http://repo.maven.apache.org/maven2): null to http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.pom


으악...도저히 모르겠다..해결방법을..ㅠ.ㅠ...



찾았다..ㅋㅋㅋ해결방법을~!!!

[결과]



참고링크!!
http://stackoverflow.com/questions/8834806/m2eclipse-error


해결방법

더보기


- 끝 -
저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!

CM/Jenkins 2012.10.23 13:33
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!
Jenkins에서 build후에 Jira로 성공 여부를 알리고 싶었다.

아래에 보면 Jira 명령어에 대해서 나와있다 참고해서 만들면 된다^-^good~
https://bobswift.atlassian.net/wiki/display/JCLI/Examples

간단한 명령어를 보면!!
jira --action addComment --issue "ZJIRACLI-3" --comment "xxx is xxx" --findReplace "xxx:yyy"

위의 명령은 코멘트를 다는 것이다.
issue는 티켓id라고 보면 된다. 
comment는 코멘트 내용이다. 말그래로~
findReplace는 코멘트 내용을 Replace(대체) 시켜 줄 수 있다.
xxx를 yyy로~

또 다른 명령어를 보면 파일첨부이다.
대~충 보면 ZJIRACLI-3 티켓에 대해 file large.zip를 첨부 한다는 것이다.
jira --action addAttachment --issue "ZJIRACLI-3" --file "src/itest/resources/large.zip"

위의 명령어를 이용하여

호출 부는 유연하게 필요한 것들을 파라미터로 받는다.

/bin/ksh j2jira.sh -p "path이다~" -j "$JIRA_TIKET_ID" -o "$OP_TYPE" -a "$JIRA_ATT_YN"

위와 같이 호출을 하며, 아래와 같이 코딩을 해준다.

더보기



※ 우선 리눅스 상에서 jira.sh을 쓸려면 jira를 설치 해야한다. 리눅스에서~
    그런 뒤 그 shell이 있는 곳을 export 해주어야 한다.^-^

결과
1) 코멘트



2) 파일첨부


저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23
Jenkins Upgrade  (0) 2012.07.05
[Jenkins] Slave를 위한 Job 설정  (2) 2012.07.03
[Jenkins] Master&Slave Agent 띄우기  (0) 2012.07.02

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Hello World 찍기! & for 루프 사용!!

CM/Ant 2012.10.05 18:17
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



[결과]
BuildDeploy/scripts$ ant -buildfile build_test.xml Buildfile:
/BuildDeploy/scripts/build_test.xml hello: [echo] Hello, World BUILD SUCCESSFUL
Total time: 0 seconds

소스
 <project default="hello">
  <target name="hello">
    <echo message="Hello, World"/>
  </target>
</project>

정말 쉽다!

자 여기서 이제는 for를 돌려보자!! for loop~!!!!

1] for 사용

더보기

- 결과
BUILD FAILED
/BuildDeploy/scripts/build_test.xml:44: Problem: failed to create task or type for
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
Total time: 0 seconds

2] antc 사용
소스

더보기


- 결과
/BuildDeploy/scripts$ ant -buildfile build_test.xml
Buildfile: /BuildDeploy/scripts/build_test.xml

BUILD FAILED
/BuildDeploy/scripts/build_test.xml:45: The prefix "antc" for element "antc:for" is not bound.

Total time: 0 seconds

모두 실패..!!!!!

어떻게 하면 ant build.xml에 루프를 돌릴수 있을까??!!!

ant의 플로그인이라고 할까나..
http://sourceforge.net/projects/ant-contrib/files/ant-contrib/


참고할만한 사이트 :
1) http://ant-contrib.sourceforge.net/tasks/tasks/index.html
2) http://ant-contrib.sourceforge.net/tasks/tasks/for.html
3) http://oak.cs.ucla.edu/cs144/projects/ant/tutorial.html




저작자 표시 비영리 변경 금지
신고

'CM > Ant' 카테고리의 다른 글

Hello World 찍기! & for 루프 사용!!  (0) 2012.10.05
[문법] 개미 잡자~!!  (0) 2012.10.05
ANT 셋팅  (0) 2012.02.15
tar.gz 압축 풀기  (4) 2012.02.15

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[문법] 개미 잡자~!!

CM/Ant 2012.10.05 16:47
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



1.  ant의 주요 옵션에 대해 알아보자.
옵션 설명
-help 도움말을 출력한다.
-projecthelp 프로젝트의 도움말 정보를 출력한다.
-version 버전 정보를 출력한다.
-quiet 적은 양의 메시지를 출력한다.
-verbose 추가적인 메시지를 출력한다.
-debug 디버깅 정보를 출력한다.
-logfile file 로그 메시지를 file에 기록한다.
-buildfile file 지정한 file을 빌드 파일로 사용한다.
-Dproperty=value 이름이 property인 프로퍼티의 값을 value로 지정한다.

빌드파일로 build.xml이 아닌 acetbuild.xml을 사용하고 싶다면!! 또한, 작업대상을 flavio로 하고 싶다면!

--> ant -buildfile acetbuild.xml flavio

또한, 파라미터 즉 인자를 넣고 싶다면!!
--> ant -buildfile acetbuild.xml -Dhahahaha=$testparm flavio
으로 해주면 된다. $testparm은 동적으로 값을 받은 것!


2. ANT의 사용

형태는 다음과 같다.
<project name="프로젝트이름" default="기본타겟이름" basedir="." >
    
    <target name="타겟이름">
      <property name="프로퍼티이름1" value="프로퍼티값1"/>
      <property name="프로퍼티이름2" value="프로퍼티값2"/>
    </target>
  
    <target name="타겟이름1">
      <task명/>
      <task명1 dir="${build}"/>
      <property name="프로퍼티이름3" value="프로퍼티값3"/>
    </target>
  
    <target name="타겟이름2" depends="타겟이름1">
      <태스크명2 속성1="값1" 속성2="값2"/>
    </target>
  
  </project>
앞으로 빌드를 하기 위해 build.xml 즉, 빌드에 필요한 xml 파일을 알맞게 작성을 해야한다.

위에서 중요하게 봐야 할 것은 붉은표시가 되어있는 project, target, property, task명 이다.

2-1. project
프로젝트에 대해서 알아보자^-^good~
<project> tag는
   1) 빌드파일의 루트tag!!
   2) 모든 빌드파일은 하나의 project tag를 가진다!!
   3) project tag는 프로젝트를 설명하기 위해 다음고 같은 속성을 사용한다.

속성 설명 필수여부
      name 프로젝트의 이름       필수아님
     default ant.bat 파일을 실행할 때 [타겟]이 지정되지 않을 때 기본적으로 사용할 타겟        필수
     basedir 경로 계산을 할 때 사용할 기본 디렉토리. basedir 프로퍼티를 지정했을 경우, 그 값을 이 속성에서 지정한 값으로 대체한다.만약 이 속성도 지정하지 않고 basedir 프로퍼티도 지정하지 않았을 경우에는 빌드 파일이 위치하는 디렉토리를 기본 디렉토리로 사용한다.      필수 아님

       ※ ant 수행 시 target을 정해주지 않으면 default가 수행 된다.

2-2. target
<target> 태그는 <project> 태그에 포함되며, 실제로 프로젝트가 수행하게 될 작업(태스크)을 지정한다. <target> 태그의 기본 구조는 다음과 같다.
    <target name="타겟이름1">
      <task명/>
      <task1 dir="${build}"/>
      <property name="프로퍼티이름3" value="프로퍼티값3"/>
    </target>
특징
  1) 하나의 <project>에 여러 개의 <target> 포함 가능.
  2) <target> 태그는 그 타켓을 통해 수행하고자 하는 태스크(작업)을 명시 한다.
     => 그냥 target 만 선언하고 task를 명시 하지 않고 그냥 command를 수행 할 수도 있다!
     <target name="stage-workspace">
         <echo message="Cleaning Staging Directory: ${staging-dir}"/>
         <delete dir="${staging-dir}" quiet="true"/>
      </target>
  3) 의존관계가 있다.

[참고1]
    <target name="compile">
      ...
    </target>

    <target name="apidoc">
      ...
    </target>

    <target name="makeproduct">
      ...
    </target>

 ex) 위처럼 여러개의 타겟이 있다고 치면,
아래는 반드시 compile -> apidoc -> makeproduct로 수행 된다고 하면 각각의 타켓 순서는
compile target, apidoc target, makeproduct target 이 된다.
즉, apidoc target은 compile에 의존하고, makeproduct target은 apidoc target에 의존하게 된다.
이러한 의존관계는 <target> 태그의 depends 속성을 통해 지정 할 수 있다.

ex)

  <target name="A"/>
  <target name="B"/>
  <target name="C"/>
  <target name="D" depends="C,B,A"/>

여기서 여러분이 최종적으로 실행하고자 타겟이 D라고 해 보자. 이 때, 타겟 D의 depends 속성의 값은 "C,B,A"인데 이는 타겟 D를 실행하기 위해서는 먼저 타겟 C, B, A가 수행되어야 함을 의미한다. 이때 타겟 C, B, A가 수행되는 순서는 depends 속성에 표시된 순서대로 수행되게 된다. 즉, 타겟 D를 실행하면 타겟 C가 먼저 실행되고, 그 다음 타겟 B, 그 다음 타겟 A, 그리고 마지막으로 타겟 D가 실행된다.

즉, [참고1]은 다음과 같이 변형이 가능하다.

   <target name="compile">
      ...
    </target>

    <target name="apidoc" depends="compile">
      ...
    </target>

    <target name="makeproduct" depends="apidoc">
      ...
    </target>

   4) target 태그의 설명은 description 속성을 통해서 할 수 있다. description 속성에 명시한 값은 ant.bat을
      실행할 때 명령행 옵션인 -projecthelp를 통해서 볼 수 있다.

2-3. task
    target이 각 수행할 작업간의 의존관계나 수행 조건 등을 표시한다면!!
    task는 타켓 내에서 실제로 수행할 작업을 나타낸다!!  

"여러분은 태스크를 통해서 소스 코드를 컴파일하고 파일을 복사/삭제하고 API 문서를 생성할 수 있다. "


anyway~!

구조는 다음과 같다. task의 구조!
  <태스크명 속성1="값1" 속성2="값2" ... />

'태스크명'은 태스크의 이름을 나타내고 '속성n'과 '값n'은 각각 태스크를 처리할 때 사용할 속성값을
 나타낸다.

ex) <delete dir="${staging-dir}" quiet="true"/>

Task는 
  1) 이미 만들어져 있는 빌트인(built-in) 태스크를 사용 가능
  2) 추가적으로 제공되는 옵션(optional) 태스크를 사용 가능
  3) 직접 작성한 태스크를 사용 가능

예를 들어, 빌트인 태스크인 javac를 사용하여 소스 코드를 컴파일 할 때는 다음과 같이 <target> 태그에 javac 태스크를 중첩시키면 된다.

  <target name="compile" depends="init">
     <javac srcdir="${src}"
            destdir="${build}"
            classpath="jcorelogging.jar"  />
  </target>

위 코드에서 <javac src="${src}" ... /> 태그가 <target> 태그에 중첩되어 있는 것을 알 수 있는데,
이때 javac는 태스크명을 나타내며, srcdir과 destdir, classpath는 각각 javac 태스크에서 사용되는 속성을 나타낸다. 그리고 각 속성의 값 중, "${"로 시작하고 "}"로 끝나는 것이 있는데 이는 프로퍼티를 나타내는 것으로서 "${"와 "}" 사이에 있는 문자열의 프로퍼티의 이름이다. 그냥 값이라보면 된다.

2-4. property
프로젝트를 진행하다보면 다양한 프로퍼티를 사용하게 된다.
컴파일 할 소스 코드의 위치, 컴파일 된 클래스 파일을 저장할 디렉토리, 압축한 파일을 위치시킬 디렉토리 등 유연한 개발을 위해서는 다양한 프로퍼티의 사용이 필수적이라 할 수 있다.

Ant는 이처럼 빌드 과정에서 사용되는 다양한 프로퍼티를 지정할 수 있도록 하고 있으며,
또한 몇몇 개의 빌트인 프로퍼티를 제공하고 있다.

프로퍼티의 지정은 property 태스크를 통해서 할 수 있으며, property 태스크는 표4와 같은 속성을 갖고 있다.

표4 - property 태스크의 속성
속성 설명 필수여부
name 설정할 프로퍼티의 이름 필수아님
value 프로퍼티의 값 name 속성을 사용할 경우 세 속성중의 하나를 지정해야 한다.
location 프로퍼티를 주어진 파일의 절대 파일명으로 지정한다. 이 속성의 값이 절대 경로일 경우, '/'나 '\'와 같은 구분자는 현재 플래폼에 알맞게 처리된다. 절대 경로가 아닐 경우 프로젝트의 basedir에 상대적인 경로로 처리된다.
refid 다른 곳에서 정의된 객체를 참조한다.
resource 프로퍼티 파일을 나타내는 자원의 이름 name 속성을 사용하지 않을 때 이 세 속성중의 한 개를 사용해야 한다.
file 프로퍼티 파일의 파일 이름
environment 환경 변수를 읽을 때 사용할 접두어. 만약 environment="myenv"라고 지정했다면, OS에 종속적인 환경변수인 PATH나 TEMP와 같은 값을 "myenv.PATH"나 "myenv.TEMP"와 같은 프로퍼티 이름을 사용하여 구할 수 있다.
classpath 자원을 검색할 때 사용할 클래스패스 필수아님
classpathref 다른 곳에서 정의된 PATH에 대한 참조로서 주어진 자원을 검색할 때 사용할 클래스패스 필수아님

예를 들어, "buildno" 속성의 값을 "356"으로 지정하고 싶다면 다음과 같이 하면 된다.

  <property name="buildno" value="356"/>

또한, 특정한 파일에 저장된 프로퍼티를 사용하고 싶다면 다음과 같이 file 속성을 사용하면 된다.

  <property file="build355.properties" />

Ant의 빌드 파일에서는 자바에서 기본적으로 제공하는 "java.version"과 같은 시스템 프로퍼티를 기본적으로 사용할 수 있으며, 추가적으로 Ant 자체에서 기본적으로 제공하는 프로퍼티를 사용할 수 있다. Ant가 기본적으로 제공하는 프로퍼티 목록은 다음표와 같다.

표5 - Ant가 기본적으로 제공하는 프로퍼티 목록
프로퍼티 설명
basedir 프로젝트의 기본 디렉토리에 대한 절대 경로. <project> 태그의 basedir 속성값을 사용한다.
ant.file 빌드 파일의 절대 경로
ant.version Ant의 버전
ant.project.name 현재 실행중인 프로젝트의 이름. <project> 태그의 name 속성값을 사용한다.
ant.java.version Ant가 발견한 Java의 버전

프로퍼티는 특정한 타켓에서만 사용되도록 지정할 수도 있고 전체에서 사용되도록 지정할 수도 있다. 다음 예를 살펴보자.

  <project name="MyProject" default="dist" basedir=".">
  
    <!-- 빌드를 위한 글로벌 프로퍼티 -->
    <property name="build" value="build"/>
    <property name="dist"  value="dist"/>
  
    <target name="init">
      <!-- init 타켓 내에서 프로퍼티 지정 -->
      <property name="src" value="."/>
      <mkdir dir="${build}"/>
    </target>
  
    <target name="compile" depends="init">
      <javac srcdir="${src}" destdir="${build}"/>
    </target>
  
    <target name="dist" depends="compile">
      <mkdir dir="${dist}/lib"/>
  
      <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
    </target>
  
    <target name="clean">
      <delete dir="${build}"/>
      <delete dir="${dist}"/>
    </target>
  </project>


위 빌드 파일을 보면 build, dist 프로퍼티는 프로젝트 전체에서 사용될 수 있는 프로퍼티로서
빌드 파일의 어떤 곳에서든지 사용될 수 있다. 반면에 init 타켓 내에 정의된 src 프로퍼티는 init 타켓에
직간접적으로 의존하고 있는 타켓에서만 사용될 수 있다.
위 코드에서는 init 타켓에 의존하고 있는 compile 타켓에서 src 프로퍼티를 사용할 수 있음을 알 수 있다.
또한 간접적으로 init 타겟에 의존하고 있는 dist 타겟 역시 src 프로퍼티를 사용하고 있다.

더 많은 내용이 있지만 기본적으로 위의 내용들을 숙지하면 될 것 같다^-^good~



참고 사이트 : http://timeless0312.blogspot.kr/2008/09/apache-ant%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%B9%8C%EB%93%9C%EC%9E%90%EB%8F%99%ED%99%94.html
저작자 표시 비영리 변경 금지
신고

'CM > Ant' 카테고리의 다른 글

Hello World 찍기! & for 루프 사용!!  (0) 2012.10.05
[문법] 개미 잡자~!!  (0) 2012.10.05
ANT 셋팅  (0) 2012.02.15
tar.gz 압축 풀기  (4) 2012.02.15

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Jenkins Upgrade

CM/Jenkins 2012.07.05 22:29
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


오늘 젠킨스를 업그레이드를 했더니....Matrix쪽 Job에서 Job들이 하나도 보이지 않는 현상이 나타났다..
confing.xml을 보아도..아무이상이 없었다=ㅁ=킁;

Bug Tracking쪽을 보니..똑같은 현상이 올라와 있는 것을 발견..

오픈소스를 업그레이드를 한다는 것은 정말 쉬운일은 아니였구나..라고 느꼈다!

Tip. 젠킨스 업그레이드 시에 소스를 업뎃 한 뒤에 그에 따르는 플러그인들도 업그레이드를 해줘야 한다!! 는 사실^^ 잊지 맙시다! ^0^ good~


저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23
Jenkins Upgrade  (0) 2012.07.05
[Jenkins] Slave를 위한 Job 설정  (2) 2012.07.03
[Jenkins] Master&Slave Agent 띄우기  (0) 2012.07.02
[windows command] csc  (0) 2012.06.28

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[Jenkins] Slave를 위한 Job 설정

CM/Jenkins 2012.07.03 16:05
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

관련 링크 : 
2012/07/02 - [CM/Jenkins] - [Jenkins] Master&Slave Agent 띄우기

Agent를 띄운 뒤에! Job Create를 하여 
아래와 같이 Build > Windows batch command를 사용하여 보자!

[1] Build쪽에 체크를 하여 command에서 bat 파일을 호출 한다.
      단, 보이지 않는다면 플러그인을 다운 받아야 한다.



또한 Master 와 Slave를 연결 시키기 위해 Job에서 Slave Node를 설정 해준다.(매우 중요!!!)




Windows Command를 사용하여 windows에 있는 bat 파일을 수행 하고자 함이다.




[2] Build 이후 Nexus에 이동 시키기 위해 over FTP의 플러그인 설치 이후 아래와 같이 정보를 입력 한다.
물론, TestSlave라는 FTP Server 이름이 보일려면 Master에서 설정을 먼저 해주어야 한다. [3]에서 설명.



[3] [2]을 하기전에 먼저 Master에서 FTP 서버 설정을 해주어야 한다.^0^good


 
설정을 한 뒤 [2] 처럼 dll파일을 Nexus쪽에 배포하기 위해 설정을 한다.
여기에서 중요한 것은 Remote Dir 이다.!!

[4] JOB 을 수행 한 뒤에 배포 결과는 아래처럼 Nexus에서 확인이 가능 하며



서버에 들어가서 해당 Remote dir에 가서 확인이 가능 하다.


 

TIP. 정말 이것 때문에 고생을 많이 했다..배포가 되질 않아서...

아래 처럼 workspace 밑에 Job name 과 node name이 붙어서 그 디렉토리 안에 컴파일 이후 나온 dll 파일이 그 밑에 있어야 가져 갈 수 있다..ㅠㅠgood~




 -end-
저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23
Jenkins Upgrade  (0) 2012.07.05
[Jenkins] Slave를 위한 Job 설정  (2) 2012.07.03
[Jenkins] Master&Slave Agent 띄우기  (0) 2012.07.02
[windows command] csc  (0) 2012.06.28
Jenkins에 Jira 연동  (0) 2012.06.18

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

  • 이태백 2013.06.10 15:41 신고 답글 | 수정/삭제 | ADDR

    안녕하세요, 블로거 잘 구경하며 배우고 있는 초보입니다.
    회사에서 받은 일감이 젠킨스 설치운영이라 급하게 하다보니 아직 뻥~ 합니다.
    SVN에서 다운 받아서 FTP로 원격서버까지 올리는건데 돌아는 갑니다... 그런데 파일 업로드가 뚜껑이 열릴 정도로 느리네요...
    왜 그런건지 도통 알재간이 없습니다. 파일질라로 15분이면 되는데 젠킨스는 3시간 이상을 열시미 일합니다. 왜 그런지 좀 가르쳐 주십시오.
    SVN에서 업데이트 된 파일들만 뽑아서 업로드 하는 방법은 없을가요????
    이것때매 짤리게 생겨서 그러니 좋은 방조 부탁드립니다. :(

    • Favicon of http://acet.pe.kr BlogIcon String Ace-T 2013.06.17 14:59 신고 수정/삭제

      안녕하세요^^
      svn에서 업데이트 된 녀석들만 뽑아서 그녀석들만 WAS에 반영시킬수도 있구요 jenkins에 우선 svn관련 플러그인을 설치 하셔야 하구요
      설치 하신 뒤에 job 만드실 때 svn쪽을 보시면 check-out strategy 라고 해서 check-out(소스 가져오는 방법)을 어떻게 하는가에 대해서 옵션으로 고를 수가 있어요(Use 'svn update' as possible 로 하시면 update 된 녀석만 가져오게 됩니다.)
      그리고 배포는 FTP로 하셔도 되고 럭덱이나 컨트롤티어 등등 배포 툴이 따로 많이 있어요
      그리고 배포 같은 경우는 Jenkins Job을 보시면 maven project job일 경우는 전, 후로 처리가 가능하게 나옵니다.
      설정해주는 부분을 보시면 Excute shell을 통해서 처리가 되어지게끔 되어있습니다.
      도움이 되셨나모르겠네요^^;

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바