2017-10-02 5 views
0

우리는 Adobe에 새로운 경험을하고 있습니다. 우리의 빌드 툴은 maven, CI tool-Jenkins입니다. Maven을 빌드 도구로 사용하고 있기 때문에. Jetty 웹 서버에 유물을 배포하는 방법은 무엇입니까?Maven을 사용하여 AEM 프로젝트 배포

즉, 메이븐을 사용하여 adobe 프로젝트의 아티팩트를 배포 할 수 있습니까? 또는 다른 환경에 아티팩트를 배포하기 위해 젠킨스 용 플러그인이 필요합니다. 나는 갑판 웹 서버에 maven을 사용하는 배치를 위해 Maven-jetty 및 cargo plugin을 발견했습니다.

+0

일반적으로 Jenkins 배포의 경우 패키지를 배포 할 수있는 HTTP 끝점이있는 패키지 관리자를 통해 배포합니다. 여기에서 사용할 수있는 몇 가지 컬 명령을 찾을 수 있습니다 : https://gist.github.com/sergeimuller/2916697. –

+0

감사합니다 Ahmed ... – User1231

답변

0

Maven을 사용하여 프로젝트를 배포하려는 경우 content-package-maven-plugin을 사용하는 것이 좋습니다. 자세한 내용은 Adobes official documentation에서 확인할 수 있습니다.

<plugin> 
    <groupId>com.day.jcr.vault</groupId> 
    <artifactId>content-package-maven-plugin</artifactId> 
    <version>0.5.24</version> 
    <configuration> 
     <userId>admin</userId> 
     <password>admin</password> 
     <targetURL>http://localhost:4502/crx/packmgr/service.jsp</targetURL> 
    </configuration> 
</plugin> 

이 (mvn 실행이나 동일한 시스템) 기본 AEM의 로컬 컴퓨터에 설치에 배포 할 간단한 예입니다 : 기본적인 교장은 다음과 같다.

젠킨스에서 빌드를 실행하는 경우 이 아닌이 Maven을 사용하여 이슈를 배포하는 것이 좋습니다. 일반적으로 콘텐츠 패키지를 배포하려는 여러 AEM 인스턴스 ("author"및 "publish")가 실행되고 있습니다.

Jenkins에서 실행되는 빌드의 경우 curl을 사용하여 아티팩트를 배포하는 것이 좋습니다. 나는 스택 오버 플로우에 curl을 사용하여 콘텐츠 패키지를 업로드하고 설치하는 것에 대한 답변을 작성했습니다 : How to install large (content) packages in AEM.

+0

안녕 Jens, 어쨌든 우리가 서버의 자격 증명을 숨길 수 있습니까? – User1231

+0

예. Maven'properties'를 디폴트 값으로 정의 할 수 있습니다. 사용자 'aemuser'에 대한 속성을 호출 할 수 있습니다. 그런 다음 구성을 ' $ {aemuser}'(으)로 변경합니다. 그런 다음 프로젝트를 빌드하고 명령 줄 인수로 사용자 이름을 전달할 수 있습니다 :'mvn install -Daemuser = myuser'. 그러나 당신이 이것을하고 싶지는 않습니다. 위의 방법은 로컬 개발에만 사용되어야하며 _really_ 프로덕션 환경 등에 배포해서는 안됩니다. – Jens