프로젝트에 App Engine 플러그인을 추가하면 App Engine 표준 환경에서 애플리케이션에 대해 다음과 같은 App Engine 관련 Gradle 작업을 수행할 수 있습니다.
작업 | 설명 |
---|---|
tasks |
설치된 태스크에 대한 도움말 정보를 표시합니다. |
appengineCloudSdkLogin |
계정의 전역 gcloud CLI 상태를 설정합니다. |
appengineDeploy |
애플리케이션을 스테이징하고 App Engine에 배포합니다. |
appengineDeployAll |
유효한 모든 yaml 구성을 App Engine에 동시에 스테이징하고 배포합니다. |
appengineDeployCron |
cron.yaml 구성 파일을 스테이징하고 App Engine에 배포합니다. |
appengineDeployDispatch |
dispatch.yaml 구성 파일을 스테이징하고 App Engine에 배포합니다. |
appengineDeployDos |
dos.yaml 구성 파일을 스테이징하고 App Engine에 배포합니다. |
appengineDeployIndex |
index.yaml 구성 파일을 스테이징하고 App Engine에 배포합니다. |
appengineDeployQueue |
queue.yaml 구성 파일을 스테이징하고 App Engine에 배포합니다. |
appengineRun |
App Engine 개발 서버를 실행합니다. 서버를 실행하는 동안 appengine-web.xml 이 변경되었는지 지속적으로 확인합니다. 변경되면 서버가 애플리케이션을 다시 로드합니다. appengine-web.xml 변경으로 인해 애플리케이션을 중지했다가 다시 시작할 필요는 없습니다.
|
appengineStage |
배포용 애플리케이션 디렉터리를 생성합니다. |
appengineStart |
App Engine 개발 서버의 실행을 비동기적으로 시작한 다음 명령줄로 돌아갑니다. 이 목표가 실행될 경우 동작은 Gradle이 계속해서 태스크를 처리하고 서버가 가동 및 실행된 후 종료된다는 점을 제외하면 목표 실행과 동일합니다. |
appengineStop |
실행 중인 App Engine 웹 개발 서버를 중지합니다. |
explodeWar |
WAR 파일을 빌드 디렉토리에 해체합니다. |
모든 작업 목록을 보려면 다음을 사용하세요.
gradle tasks
Gradle을 설정하고 사용하는 방법에 대한 자세한 내용은 App Engine Gradle 사용을 참조하세요.
태스크 속성
gradle.build
파일의 콘텐츠는 빌드를 설명하는 규칙 집합입니다. 이 파일은 빌드를 설명하기 위해 Groovy 언어 기반의 도메인 특정 언어로 작성됩니다.
각 태스크에는 아래와 같이 사용 가능한 속성이 연결되어 있습니다. gradle.build
파일에서 구성 닫기, 태스크, 속성을 사용하여 이러한 속성을 지정할 수 있습니다.
아래 예시를 참조하세요.
- 플러그인의 구성 닫기는
appengine
입니다. - 태스크는
run
입니다. port
속성은8080
으로 설정됩니다.
몇 가지 속성만 설정하면 되는 경우 한 줄로 설정할 수 있습니다.
appengine.run.port = 8888
각 작업에 사용할 수 있는 속성 목록은 다음 섹션을 참조하세요.
appengineStage
task(stage)
배포용 애플리케이션 디렉터리를 생성합니다. appengineDeploy
태스크에서 appengineStage
를 사용합니다.
다음 속성을 사용할 수 있습니다.
속성 | 설명 |
---|---|
compileEncoding |
JSP를 컴파일할 때 사용할 문자 인코딩입니다. App Engine 표준 환경에서 실행 중인 애플리케이션에만 적용됩니다. |
deleteJsps |
컴파일 후 JSP 소스 파일을 삭제합니다. App Engine 표준 환경에서 실행 중인 애플리케이션에만 적용됩니다. |
disableJarJsps |
JSP에서 생성된 클래스 추가를 사용 중지합니다. App Engine 표준 환경에서 실행 중인 애플리케이션에만 적용됩니다. |
disableUpdateCheck |
gcloud CLI 업데이트 확인을 중지합니다. |
enableJarClasses |
WEB-INF/classes content 를 Jar로 만듭니다. App Engine 표준 환경에서 실행 중인 애플리케이션에만 적용됩니다.
|
useMtimeFileWatcher |
소스 코드 변경을 탐지하기 위해 mtime 폴링을 사용합니다. 분산 파일 시스템을 사용하여 원격 머신에서 코드를 수정하는 경우 유용합니다. |
enableJarSplitting |
10MB를 초과하는 JAR 파일을 작은 조각으로 분할합니다. App Engine 표준 환경에만 적용됩니다. |
enableQuickstart |
Eclipse Jetty 빠른 시작을 사용하여 서블릿 주석을 처리합니다. App Engine 표준 환경에만 적용됩니다. |
jarSplittingExcludes |
모든 JAR 파일에서 쉼표로 구분된 접미사 목록과 일치하는 파일을 제외합니다. App Engine 표준 환경에서 실행 중인 애플리케이션에만 적용됩니다. |
sourceDirectory |
필수 항목. 컴파일된 웹 애플리케이션 파일 또는 해체된 WAR의 위치입니다. 스테이징 소스로 사용됩니다. App Engine 표준 환경에만 적용됩니다. 기본값은 build/exploded-${gradle-module-name} 입니다.
|
stagingDirectory |
필수 항목. 애플리케이션을 스테이징할 디렉터리로, 기본값은 build/staged-app 입니다.
|
appengineRun
작업(실행)
App Engine 개발용 웹 서버를 실행합니다. 서버를 실행하는 동안 appengine-web.xml
이 변경되었는지 지속적으로 확인합니다. 변경된 경우 서버가 애플리케이션을 새로 고칩니다. 즉, appengine-web.xml
변경으로 인해 애플리케이션을 중지했다가 다시 시작할 필요가 없습니다.
다음 속성을 사용할 수 있으며 이 중에서 일부는 로컬 개발 서버 명령줄 플래그에 해당합니다.
속성 | 설명 |
---|---|
environment |
로컬 개발 서버로 보내기 위한 환경 변수 맵.
예: [key1: "value1", key2: "value2"]
|
jvmFlags |
앱의 인스턴스를 시작할 때 자바 명령어에 전달할 추가 인수입니다. 두 번 이상 지정할 수 있습니다. 예를 들면 -Xmx1024m -Xms256m 입니다.
|
host |
애플리케이션 서비스를 결합해야 하는 호스트 이름. 기본값은 localhost 입니다.
|
port |
애플리케이션 서비스를 결합해야 하는 가장 낮은 포트입니다. 기본값은 8080 입니다.
|
serverVersion |
시작할 서버 버전. 옵션은 '1'과 '2-alpha'입니다. 기본값은 '1'입니다. |
services |
필수 항목. WEB-INF/web.xml 이 포함된 디렉터리가 있는 디렉터리의 경로이며 기본값은 build/exploded-app 입니다.
|
startSuccessTimeout |
appengineStart 사용 시 백그라운드에서 개발용 앱 서버 시작을 기다릴 시간(초)입니다. |
appengineDeploy
task(deploy)
애플리케이션을 스테이징하고 App Engine에 배포합니다.
속성 | 설명 |
---|---|
appEngineDirectory |
구성별 배포(appengineDeployCron 등)를 배포하는 .yaml 구성 파일(크론, 색인 등) 위치입니다. 표준 애플리케이션의 경우 .xml 구성 파일은 스테이징 중에 .yaml 로 변환되며 build/staged-app/WEB-INF/appengine-generated 에 배치됩니다.
|
bucket |
배포와 연결된 파일을 스테이징하는 데 사용되는 Google Cloud Storage 버킷. 이 인수가 지정되지 않으면 애플리케이션의 기본 버킷이 사용됩니다. |
imageUrl |
특정 Docker 이미지를 사용하여 배포합니다. Docker URL은 유효한 Google Container Registry 호스트 이름 중 하나여야 합니다. |
projectId |
이 호출에 사용할 Google Cloud Platform 프로젝트 ID.
projectId를 지정하거나 GCLOUD_CONFIG 를 설정하여 gcloud 구성 상태의 프로젝트 설정을 사용할 수 있습니다.
|
promote |
배포된 버전을 승격하여 모든 트래픽을 수신합니다. 기본값은 True입니다. |
server |
연결할 App Engine 서버입니다. 일반적으로 이 값은 변경할 필요가 없습니다. |
stopPreviousVersion |
모든 트래픽을 수신하는 새 버전을 배포할 때 이전에 실행 중인 버전을 중지합니다. |
version |
이 배포에서 생성되거나 대체되는 앱의 버전입니다. 버전을 지정하지 않으면 자동으로 생성됩니다. |
전역 속성
속성 | 설명 |
---|---|
tools.cloudSdkHome |
gcloud CLI 위치를 구성하는 선택적 속성입니다. 이 속성을 지정하지 않으면 플러그인이 자동으로 gcloud CLI를 다운로드합니다. |
tools.cloudSdkVersion |
원하는 gcloud CLI 버전을 지정하는 선택적 매개변수입니다. |