2011-08-12 3 views
1

어떻게하면 내 응용 프로그램을 배포 할 수 있습니까?서버에 배포하는 maven

내가

mvn deply:devserver (or something like that)을 입력 할 수 있도록하려면 그것은 원격 devserver에 다음과 같은 일을

SCP 모든 종속 병을 가지고는/var/lib 디렉토리/tomcat6/공유/회사 폴더

SCP war 파일을 원격 devserver/var/lib/tomcat6/webapps 폴더에 복사하십시오.

그리고 나는 이미 성명을 듣고 있습니다. "왜 이렇게하고 있니? "b 라 블라 블라 나는 대답 할 것이다. 이 서버는 같은 의존성을 사용하는 약 35 개의 다른 war 파일 (이 프로젝트를 상속 한 부드러운)을 실행할 것입니다. 그래서 tomcat 클래스 로더가 동일한 50 개 정도의 라이브러리를 35 번로드하는 지점을 보지 못합니다. id는 시작시 tomcat을로드하고 webapps와 공유합니다.

아니요, 관리자는이 tomcat 인스턴스에 설치되어 있지 않으므로 거기에 가지 마십시오. 보안 담당자는 공개적으로 표시되는 서버에 관리 콘솔을 설치하지 않으므로 모든 배포가 SCP 파일 복사본을 통해 이루어져야합니다.

개미와 약 5 분 만에이 작업을 수행 할 수 있었지만 쉘 스크립트를 작성하는 가능성을 없앴습니다.하지만 먼저 maven에게 기회를주고 싶습니다.

답변

1

코드의 'deploy'를 서버에 스크립팅해야합니다. Ant를 사용하기로 결정했다면 Maven이이 작업에 적합한 도구가 아닙니다.

Maven 'deploy'목표는 빌드 된 아티팩트를 리포지토리 서버에 배포하여 다른 프로젝트가 종속성으로 다운로드 할 수있게하는 데 사용됩니다. 그것은 당신이 생각하고있는 '배치'가 아닙니다.

Maven에서 정말로이 작업이 필요하다면 Maven에서 Ant 작업을 실행할 수있는 maven ant 플러그인이 있으며이 작업을 배포 단계에 바인딩 할 수 있습니다. 필자는 Maven을 빌드 도구로 사용하는 관례에 위배되기 때문에 이것에 반대 할 것을 권합니다.

+0

쿨, 고마워. 나는 그 때 그것을하기 위하여 빠른 쉘 원본을 때려 눕힐 것이다. – scphantm

+0

나는 쉘 스크립트 작성을 끝냈다. – scphantm

+0

쉘 스크립트는 좋았지 만 리눅스/유닉스에서만 절대적으로 긍정적 인면을 제외하고는 크로스 플랫폼 스크립팅 언어를 고려하고 싶을 수도있다. 어떤 환경에서도 Ant, python 또는 scala를 사용할 수 있기를 바랍니다. –