기본 콘텐츠로 건너뛰기

Spring Shell 프로젝트 만들기

사이트에서 기술지원 업무를 지원하다보면 여러가지 예외적인 변수를 가지게 된다

여러 케이스의 운영기술이 어플리케이션에 반영이 안되어있는 경우가 많아 개인의 기술 스킬에 의존해 업무를 처리하게되는데 이는 엄청난 비용을 야기한다

하여, 누구나 몇가지 커맨드만 숙지 한다면 다시말해 별단른 학습비용없이 간단하게 사용하여 여러가지 당황스러운 상황을 모면(?)할 수 있는 기술지원 툴을 생각하게 되었는데
찾아보던중 spring shell 이라는 프로젝트가 눈에 띄어 이를 바탕으로 만들어 보기로 하였다

우선 간단한 예제로 기본 프로젝트를 구성해 보자

1. gradle maven 프로젝트를 생성한다.


2. spring-shell-plugin xml 파일을 생성한다.

classpath 의 META-INF 디렉토리에 위치해준다

3. 테스트 코드를 작성


몇가지 어노테이션을 설명하면
@CliCommand(value = "echo", help = "Echo a message")
shell 명령어를 정의한다. value 변수는 명령어를 정의하며, help 변수는 help 명령어를 지시할때 value 에서 정의한 명령어의 텍스트 메시지를 출력 할 수 있다 즉 도움말이 되겠다
@CliOption(key = { "", "msg" }, mandatory = true, help= "The message to echo")
명령어의 옵션을 정의한다 상기한대로 echo --msg test 형태로 지시한다면 test 텍스트를 msg 옵션의 인수로 전달하게 된다


mvn package 실행후 jar를 실행하여 작성한 명령어가 잘 실행되는지 확인해본다

이를 기반으로 여러가지 기능을 응용하여 구현해 나가면 되겠다
원격접속도 구현 가능하다니 활용도가 정말 많구나


댓글

이 블로그의 인기 게시물

Maqetta Release 10 개발자 환경설정

Maqetta 개발자 환경설정을 정리한다 공식 Maqetta 개발자 환경설정 Wiki 잉글리쉬버전이 좋으신분은 위 링크로 개발자 환경 mac osx mountain lion JDK 1.7 이상 git 1.7 이상 wget (build 시 이용하므로 따로 인터넷 검색하여 설치해둔다) eclipse 4.2 SR2 (git plugin이 설치되어 있다) 자... 시작! 먼저 eclipse taget platform 셋팅이 필요하다 다음을 미리 다운로드해 둔다 Maqetta nightly  이곳에서 maqetta-orion 가장 최신버전으로 받아두고 압축을 미리 풀어 놓고 잘 기억해 둔다 예) maqetta-orion-201305240100.zip eclipse의 preferences > plug-in development > target platform 으로 가서 아래와같이 수행한다 add 선택 defaut 선택 후 next add 선택 directory 선택택 후 next location browse 선택 후 아까 압축해제한 directory를 선택 후 finish 추가할 target platform 이름을 알아볼수 있게 정한다음 finish 위 과정을 모두 마쳤다면 아래 화면처럼 선택하여 active 시켜 ok 한다 다음은 소스를 받을 차례이다 git repository exploring perspective 를 열어  git repository URI (git://github.com/maqetta/maqetta.git) 을 입력한다 branch 는 master만 선택할 수 있도록 한다 마지막으로 submodules 까지 선택하여 각자 저장할 곳을 지정하여 clone 한다 clone 작업이 끝나고나면 eclipse project로 import 해야하는데 다음 항목만 import 할 수 있도록 ...

Maqetta Release 10 사용자 build

Maqetta 개발환경에서의 사용자 build 방법 개발자 환경 mac osx mountain lion JDK 1.7 이상 git 1.7 이상 wget (build 시 이용하므로 따로 인터넷 검색하여 설치해둔다) eclipse 4.2 SR2 mac 환경 기준으로 설명을 시작한다 윈도환경 잘 안되서 버리고 mac으로 한다 윈도보단 차라리 linux 환경이 나을듯 .profile 환경변수 설정 자신의 환경에 맞게 수정하면 되겠다 export ECLIPSE_HOME=/Users/aircha/Development/eclipse export MAQETTA_BUILD_DIR=/Users/aircha/Development/build_output export MAQETTA_DOJO_BUILD=true 앞에서 말했듯이 wget을 이용할 수 있는 환경이 마련되어야 한다 이거때문에 한참을 돌아가시는줄... mac 환경에서의 wget 설치방법을 인터넷에 친절히 설명 되어 있으니 참고 하도록 한다 빌드 설정에 따라 두가지 방법으로 나뉘는데 git 원격 Repository 에서 최신버전을 받은후 build git 로컬 clone 소스를 마음대로 개조후 build 현재는 개조 목적이 있으므로 2번 기준으로 설명한다 사전에 git repository 를 clone 하여 maqetta 가 설치된 이클립스를 기준으로 설명한다 안했는데! 클릭 위에보이는 화면처럼 davinci.releng project 에서 build.orion.sh 파일의 40번째 줄 maqettaCode 변수에 자신의 maqetta local git repository 경로를 입력한다 저장 후 터미널에서 build.orion.sh 실행하면... build 실행중이며 수분 내에 끝날것이다 처음 실행 할 경우 다소 시간이(약1시간) 걸릴 수 있다 처음에 설정했던 ${MAQETTA_BUILD_DIR} 경로에 bui...