본문 바로가기

Cloud Platform/Google Cloud Platform

Maven + App Engine Plugin 사용하기


앱엔진 을 이용해서 개발서버 올리기 및 실서비스 배포 를 하다보면 Maven 명령이 상이한 경우 있다

이는 Maven 명령시 어느 플러그인을 사용하느냐에 따라 다른것이다.


http://stackoverflow.com/questions/41511432/could-not-find-goal-run-in-plugin-com-google-appengineappengine-maven-plugin


위 URL 의 답변에 보면 잘 나와 있다. 답변 중에 링크 걸려 있는 스레드도 읽어 보면 많은 도움이 된다.


Google App Engine 문서에 따르면 App Engine Maven 명령어는 두가지 플러그인으로 다룰 수 있다고 나온다.


1. appcfg

2. Cloud SDK


1. appcfg 플러그인 을 사용할때

https://cloud.google.com/appengine/docs/java/tools/maven


1.1 pom.xml 

<build>
    <plugin>
        <groupId>com.google.appengine</groupId>
        <artifactId>gcloud-maven-plugin</artifactId>
        <version>1.9.48</version>
    </plugin>
</build>

1.2 maven command

 - mvn appengine:devserver    // 로컬 개발서버 올리기
 - mvn appengine:update       // 실서비스 배포하기


2. Cloud SDK 플러그인 을 사용할때

https://cloud.google.com/appengine/docs/java/tools/using-maven


2.1 pom.xml

<build>
    <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>appengine-maven-plugin</artifactId>
        <version>1.0.0</version>
    </plugin>
</build>


2.2 maven commnad

 - mvn appengine:run        // 로컬 개발서버 올리기
- mvn appengine:deploy
// 실서비스 배포하기


3. 두가지 모두 사용할 때

 - mvn com.google.appengine:appengine-maven-plugin:devserver
 - mvn com.google.appengine:appengine-maven-plugin:update
 - mvn com.google.cloud.tools:appengine-maven-plugin:run
 - mvn com.google.cloud.tools:appengine-maven-plugin:deploy


4. Cloud SDK 사용시 특정 버전에 배포고 싶을때

4.1 pom.xml

<properties> <app.deploy.version>버전</app.deploy.version> </properties>

위 설정이 없으면 새로운 버전이 자동으로 생성되고 생성된 버전에 대한 서비스 인스턴스도 자동 생성되어 배포된다.


5. gcloud-maven-plugin is deprecated

https://github.com/GoogleCloudPlatform/app-maven-plugin 에 가보면 deprecated  되었다고 나오고

appengine-maven-plugin 마이그레이션 하라고 나온다.

Cloud SDK 플러그인 으로 사용하는게 정신 건강에 좋겠네...