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

Dopo aver aggiunto il plug-in App Engine al progetto, puoi utilizzare i seguenti task Gradle specifici per 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 della gcloud CLI per account.
appengineDeploy Esegue il deployment e le fasi di un'applicazione in App Engine.
appengineDeployAll Esegue il deployment e le fasi di un'applicazione con tutte le relative configurazioni yaml valide contemporaneamente in App Engine.
appengineDeployCron Esegue il deployment e le fasi di un file di configurazione cron.yaml in App Engine.
appengineDeployDispatch Esegue il deployment e le fasi di un file di configurazione dispatch.yaml in App Engine.
appengineDeployDos Esegue il deployment e le fasi di un file di configurazione dos.yaml in App Engine.
appengineDeployIndex Esegue il deployment e le fasi di un file di configurazione index.yaml in App Engine.
appengineDeployQueue Esegue il deployment e le fasi di un file di configurazione queue.yaml in App Engine.
appengineRun Esegue il server di sviluppo App Engine. Quando il server è attivo, controlla continuamente 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 App Engine in modo asincrono e poi torna alla riga di comando. Quando viene eseguito questo obiettivo, il comportamento è uguale a quello dell'obiettivo di esecuzione, tranne per il fatto che Gradle continua a elaborare le attività ed esce dopo l'avvio del server.
appengineStop Arresta un server di sviluppo web App Engine in esecuzione.
explodeWar Espande il file WAR nella directory di compilazione.

Per visualizzare un elenco di tutte le attività:

gradle tasks

Per ulteriori informazioni su come configurare e utilizzare Gradle, consulta Utilizzare Gradle per App Engine.

Proprietà delle attività

I contenuti del file gradle.build sono un insieme di regole per descrivere la build. È 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 un compito e proprietà di chiusura di configurazione.

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 un'unica 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 viene 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 di App Engine.
deleteJsps Elimina i file di origine JSP dopo la compilazione. Si applica solo alle applicazioni in esecuzione nell'ambiente standard di App Engine.
disableJarJsps Disattiva l'aggiunta delle classi generate dalle JSP. Si applica solo alle applicazioni in esecuzione nell'ambiente standard di App Engine.
disableUpdateCheck Disattiva la ricerca di aggiornamenti gcloud CLI.
enableJarClasses Aggiungi a Speciali WEB-INF/classes content. Si applica solo alle applicazioni in esecuzione nell'ambiente standard di 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 Suddividi i file JAR di dimensioni superiori a 10 MB in frammenti più piccoli. Si applica solo all'ambiente standard di App Engine.
enableQuickstart Utilizza la guida rapida di Eclipse Jetty per elaborare le annotazioni dei servlet. Si applica solo all'ambiente standard di App Engine.
jarSplittingExcludes Escludi da tutti i file JAR i file corrispondenti all'elenco di SUFFISSI separati da virgole. 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 esploso. Viene utilizzato come origine per l'implementazione. Si applica solo all'ambiente standard di App Engine. Il valore predefinito è build/exploded-${gradle-module-name}.
stagingDirectory Obbligatorio. La directory in cui eseguire l'implementazione 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 se appengine-web.xml è cambiato. In questo caso, il server ricarica l'applicazione. Ciò significa che non è necessario interrompere e riavviare l'applicazione a causa delle modifiche 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 quando viene avviata un'istanza dell'app. Può essere specificato più di una volta. Esempio: -Xmx1024m -Xms256m
host Nome host a cui devono essere associati i servizi dell'applicazione. Il valore predefinito è localhost.
port Porta minima a cui devono essere associati i servizi di applicazione. Il valore predefinito è 8080.
serverVersion La versione del server da avviare. Le opzioni sono "1" e "2-alpha". Il valore predefinito è "1".
services Obbligatorio. Percorsi di una directory contenente una directory contenente WEB-INF/web.xml. Il valore predefinito è build/exploded-app.
startSuccessTimeout Tempo in secondi di attesa per l'avvio di Dev App Server in background (quando si utilizza appengineStart).

appengineDeploy

task(deploy)

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

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 standard, i file di configurazione .xml vengono convertiti in .yaml durante lo staging e posizionati in build/staged-app/WEB-INF/appengine-generated.
bucket Il bucket Google 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.
imageUrl Esegui il deployment con un'immagine Docker specifica. L'URL di Docker deve provenire da uno dei nomi host di Google Container Registry validi.
projectId L'ID progetto della piattaforma Google Cloud da utilizzare per questa chiamata. Devi specificare un projectId oppure puoi impostare GCLOUD_CONFIG per utilizzare il progetto impostato nello stato della configurazione di gcloud.
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 gcloud CLI. Se questa proprietà non è specificata, il plug-in scarica automaticamente la gcloud CLI.
tools.cloudSdkVersion Parametro facoltativo per specificare la versione di gcloud CLI che preferisci.