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

Dopo aver aggiunto il plug-in App Engine al tuo progetto, puoi utilizzare i seguenti task Gradle specifici di App Engine per le applicazioni nell'ambiente standard di App Engine:

Attività Descrizione
tasks Visualizza le informazioni della guida sulle attività installate.
appengineCloudSdkLogin Imposta lo stato globale di gcloud CLI per account.
appengineDeploy Organizza e distribuisce un'applicazione in App Engine.
appengineDeployAll Organizza e esegue il deployment di un'applicazione con tutte le relative configurazioni yaml valide contemporaneamente su App Engine.
appengineDeployCron Organizza e esegue il deployment di un file di configurazione cron.yaml in App Engine.
appengineDeployDispatch Organizza e esegue il deployment di un file di configurazione dispatch.yaml in App Engine.
appengineDeployDos Organizza e esegue il deployment di un file di configurazione dos.yaml in App Engine.
appengineDeployIndex Organizza e esegue il deployment di un file di configurazione index.yaml in App Engine.
appengineDeployQueue Organizza e esegue il deployment di un file di configurazione queue.yaml in App Engine.
appengineRun Esegue il server di sviluppo di App Engine. Quando il server è in esecuzione, controlla continuamente per determinare se appengine-web.xml è cambiato. In questo caso, il server ricarica l'applicazione. Non è necessario arrestare e riavviare l'applicazione a causa delle modifiche a appengine-web.xml.
appengineStage Genera una directory dell'applicazione per il deployment.
appengineStart Avvia l'esecuzione del server di sviluppo di App Engine in modo asincrono e poi torna alla riga di comando. Quando viene eseguito questo obiettivo, il comportamento è lo stesso dell'obiettivo di esecuzione, tranne per il fatto che Gradle continua a elaborare le attività ed esce dopo che il server è attivo e in esecuzione.
appengineStop Arresta un server di sviluppo web di App Engine in esecuzione.
explodeWar Estrae il file WAR nella directory di build.

Per visualizzare un elenco di tutte le attività:

gradle tasks

Per ulteriori informazioni su come configurare e utilizzare Gradle, vedi Utilizzo di Gradle per App Engine.

Proprietà dell'attività

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

Ogni attività ha proprietà associate che puoi utilizzare. Puoi specificare queste proprietà nel file gradle.build utilizzando un'attività configuration closure e le 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

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

appengineStage

task(stage)

Genera una directory dell'applicazione per il deployment. appengineStage è utilizzato dall'attività appengineDeploy.

Puoi utilizzare le seguenti proprietà:

Proprietà Descrizione
compileEncoding La codifica dei caratteri da utilizzare durante la compilazione delle JSP. Si applica solo alle applicazioni in esecuzione nell'ambiente standard App Engine.
deleteJsps Elimina i file di origine JSP dopo la compilazione. Si applica solo alle applicazioni in esecuzione nell'ambiente standard App Engine.
disableJarJsps Disattiva l'aggiunta delle classi generate dai JSP. Si applica solo alle applicazioni in esecuzione nell'ambiente standard App Engine.
disableUpdateCheck Disattiva il controllo degli aggiornamenti di gcloud CLI.
enableJarClasses Vasetto WEB-INF/classes content. Si applica solo alle applicazioni in esecuzione nell'ambiente standard App Engine.
useMtimeFileWatcher Utilizza il polling mtime per rilevare le modifiche al codice sorgente. Utile se modifichi il codice da una macchina remota utilizzando un file system distribuito.
enableJarSplitting Dividi i file JAR di dimensioni superiori a 10 MB in frammenti più piccoli. Si applica solo all'ambiente standard di App Engine.
enableQuickstart Utilizza l'avvio rapido di Eclipse Jetty per elaborare le annotazioni servlet. Si applica solo all'ambiente standard di App Engine.
jarSplittingExcludes Escludi i file che corrispondono all'elenco di SUFFISSI separati da virgole da tutti i file JAR. Si applica solo alle applicazioni in esecuzione nell'ambiente standard di App Engine.
sourceDirectory Obbligatorio. La posizione dei file dell'applicazione web compilata o del file WAR estratto. Viene utilizzato come origine per lo staging. Si applica solo all'ambiente standard di App Engine. Il valore predefinito è build/exploded-${gradle-module-name}.
stagingDirectory Obbligatorio. La directory in cui eseguire lo staging dell'applicazione. Il valore predefinito è build/staged-app.

appengineRun

task(run)

Esegue il server web di sviluppo di App Engine. Quando il server è in esecuzione, controlla continuamente per determinare se appengine-web.xml è cambiato. In questo caso, il server ricarica l'applicazione. Ciò significa che non devi interrompere e riavviare l'applicazione a causa delle modifiche apportate a appengine-web.xml.

Puoi utilizzare le seguenti proprietà, alcune delle quali corrispondono ai flag della riga di comando del server di sviluppo locale:

Proprietà Descrizione
environment Una mappa delle variabili di ambiente da inviare al server di sviluppo locale. Esempio: [key1: "value1", key2: "value2"]
jvmFlags Argomenti aggiuntivi da passare al comando Java all'avvio di un'istanza dell'app. Possono essere specificati più di una volta. Esempio: -Xmx1024m -Xms256m
host Nome host a cui devono essere associati i servizi dell'applicazione. Il valore predefinito è localhost.
port La porta più bassa a cui devono essere associati i servizi applicativi. Il valore predefinito è 8080.
serverVersion Versione del server da avviare. Le opzioni sono "1" e "2-alpha". Il valore predefinito è "1".
services Obbligatorio. Percorso o percorsi di una directory contenente una directory contenente WEB-INF/web.xml. Il valore predefinito è build/exploded-app.
startSuccessTimeout Quantità di tempo in secondi da attendere per l'avvio del server di sviluppo dell'app in background (quando si utilizza appengineStart).

appengineDeploy

task(deploy)

Organizza e distribuisce un'applicazione in App Engine.

Proprietà Descrizione
appEngineDirectory Posizione dei file di configurazione .yaml (cron, index ecc.) da cui verranno eseguiti i deployment specifici della configurazione (appengineDeployCron ecc.). Per le applicazioni standard, i file di configurazione .xml vengono convertiti durante lo staging in .yaml e inseriti in build/staged-app/WEB-INF/appengine-generated.
bucket Il bucket Google Cloud Storage utilizzato per organizzare i file associati al deployment. Se questo argomento non viene specificato, viene utilizzato il bucket predefinito dell'applicazione.
imageUrl Esegui il deployment con un'immagine Docker specifica. L'URL Docker deve provenire da uno dei nomi host Google Container Registry validi.
projectId L'ID progetto Google Cloud da utilizzare per questa chiamata. Devi specificare un projectId oppure puoi impostare GCLOUD_CONFIG in modo da utilizzare il progetto impostato nello stato di configurazione di gcloud.
promote Promuovi la versione di cui è stato eseguito il deployment per ricevere tutto il traffico. Il valore predefinito è True.
server Il server App Engine a cui connettersi. In genere, non è necessario modificare questo valore.
stopPreviousVersion Arresta 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 gcloud CLI. Se questa proprietà non è specificata, il plug-in scarica automaticamente gcloud CLI.
tools.cloudSdkVersion Parametro facoltativo per specificare la versione di gcloud CLI che preferisci.