Attività e proprietà del plug-in Gradle App Engine

Dopo aver aggiunto il plug-in Gradle di App Engine al progetto, puoi utilizzare le seguenti attività Gradle specifiche di App Engine nella tua app Java 8:
Attività Descrizione
tasks Visualizza le informazioni della guida sulle attività installate.
appengineStage Genera una directory dell'applicazione per il deployment.
appengineDeploy Esegue il deployment e le fasi di un'applicazione in App Engine.
appengineDeployCron Esegue il deployment di un file di configurazione cron.yaml in App Engine.
appengineDeployDispatch Esegue il deployment di un file di configurazione dispatch.yaml su App Engine.
appengineDeployDos Esegue il deployment di un file di configurazione dos.yaml in App Engine.
appengineDeployIndex Esegue il deployment di un file di configurazione index.yaml in App Engine.
appengineDeployQueue Esegue il deployment di un file di configurazione queue.yaml in App Engine.
jettyRun Esegue il server di sviluppo utilizzando le configurazioni predefinite di Jetty. Per scoprire di più sul plug-in Gretty, consulta Configurazione di Gretty e Gretty Tasks.

Per visualizzare un elenco di tutte le attività:

gradle tasks

Per ulteriori informazioni su come configurare e utilizzare Gradle, consulta Utilizzare Gradle di App Engine e il repository app-gradle-plugin su GitHub.

Proprietà delle attività

I contenuti del file gradle.build sono un insieme di regole per descrivere la compilazione. È scritto in un linguaggio specifico per dominio per descrivere le build, basato sul linguaggio Groovy.

A ogni attività sono associate le proprietà riportate di seguito che puoi utilizzare. Puoi specificare queste proprietà nel file gradle.build utilizzando una chiusura di configurazione, attività e proprietà.

L'esempio seguente mostra come specificare le attività Gradle per Java 8. Per Java versione 11 e successive, consulta Runtime Java per ulteriori informazioni sull'utilizzo delle versioni più recenti.

In questo esempio:

  • La chiusura della configurazione per il plug-in è appengine.
  • L'attività è deploy.
  • Le proprietà stopPreviousVersion e promote sono impostate su true.
appengine {
  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}
Se devi specificare solo alcune proprietà, puoi impostarle in una singola riga:

  appengine.deploy.stopPreviousVersion = true

Consulta le sezioni seguenti per un elenco delle proprietà disponibili per ogni attività.

appengineStage

task(stage)

Genera una directory dell'applicazione per il deployment. Utilizzato dall'attività appengineDeploy e dall'attività jettyRun.

Puoi utilizzare le seguenti proprietà:

Proprietà Descrizione
artifact Artefatto compilato contenente tutti i class, le risorse e i manifest. Il valore predefinito è build/libs/[YOUR_SERVLET].war.
appEngineDirectory Posizione del file app.yaml. Il valore predefinito è src/main/appengine.
dockerDirectory Posizione del Dockerfile. Il valore predefinito è src/main/docker.
stagingDirectory Obbligatorio. La directory in cui eseguire l'implementazione dell'applicazione. Il valore predefinito è build/staged-app.

appengineDeploy

task(deploy)

Esegue il deployment e le fasi di un'applicazione in App Engine.

A ogni attività sono associate le proprietà riportate di seguito che puoi utilizzare. Puoi specificare queste proprietà nel file gradle.build utilizzando una chiusura di configurazione, attività e proprietà.

Nel seguente esempio:

  • La chiusura della configurazione per il plug-in è appengine.
  • L'attività è run.
  • La proprietà port è impostata su 8080.
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

Se devi specificare solo alcune proprietà, puoi impostarle in una singola riga:

  appengine.run.port = 8888
Proprietà Descrizione
appEngineDirectory Posizione dei file di configurazione .yaml (cron, index e così via) da cui verranno eseguiti i deployment di configurazioni specifiche (appengineDeployCron e così via). Per le applicazioni flessibili, il valore predefinito è src/main/appengine.
bucket Il bucket Cloud Storage utilizzato per eseguire il commit dei file associati al deployment. Se questo parametro non viene specificato, viene utilizzato il bucket predefinito dell'applicazione.
deployables I file YAML per i servizi o le configurazioni di cui vuoi eseguire il deployment. Il valore predefinito è il file app.yaml nella directory di staging. Se non viene trovato, tenta di generare automaticamente i file di configurazione necessari (ad esempio app.yaml) nella directory di staging.
imageUrl Esegui il deployment con un'immagine Docker specifica. L'URL di Docker deve provenire da uno dei nomi host di Artifact Registry validi.
project Il nome del progetto della piattaforma Google Cloud da utilizzare per questa chiamata. Il valore predefinito è il progetto corrente selezionato al momento dell'inizializzazione dello strumento gcloud. Per eseguire la verifica, utilizza gcloud config list project.
promote Promuovi la versione di cui è stato eseguito il deployment in modo che riceva tutto il traffico. Il valore predefinito è True.
server Il server App Engine a cui connettersi. In genere, non è necessario modificare questo valore.
stopPreviousVersion Interrompi la versione in esecuzione in precedenza quando esegui il deployment di una nuova versione che riceve tutto il traffico.
version La versione dell'app che verrà creata o sostituita da questo deployment. Se non specifichi una versione, ne verrà generata una per te.

Proprietà globali

Proprietà Descrizione
tools.cloudSdkHome Proprietà facoltativa per configurare la posizione di Google Cloud CLI. In genere, il plug-in lo trova nell'interfaccia alla gcloud CLI quando è installato con gcloud components install app-engine-java.