The appcfg.sh
tool does a variety of application management tasks including
deploying your app and
updating datastore indexes. The appcfg
tool is included with the
App Engine SDK, which you can download and install at
App Engine Java 8 SDK.
usage: appcfg.sh [options] <action> [<app-dir>] [<argument>]
<app-dir>
must be the directory that contains your WAR file. See
deploying your app for more information.
- Action must be one of:
help
: Print help for a specific action.download_app
: Download a previously uploaded app version.request_logs
: Write request logs in Apache common log format.rollback
: Rollback an in-progress update.start_module_version
: Start the specified module version.stop_module_version
: Stop the specified module version.update
: Create or update an app version.update_indexes
: Update application indexes.update_cron
: Update application cron jobs.update_queues
: Update application task queue definitions.update_dispatch
: Update the application dispatch configuration.update_dos
: Update application DoS protection configuration.version
: Prints version information.set_default_version
: Set the default serving version.cron_info
: Displays times for the next several runs of each cron job.resource_limits_info
: Display resource limits.vacuum_indexes
: Delete unused indexes from application.backends list
: List the currently configured backends.backends update
: Update the specified backend or all backends.backends rollback
: Roll back a previously in-progress update.backends start
: Start the specified backend.backends stop
: Stop the specified backend.backends delete
: Delete the specified backend.backends configure
: Configure the specified backend.list_versions
: List the currently uploaded versions.delete_version
: Delete the specified version.
Use 'help <action>'
for a detailed description.
options:
-s SERVER, --server=SERVER
- The server to connect to.
-e EMAIL, --email=EMAIL
- The username to use. Will prompt if omitted.
-H HOST, --host=HOST
- Overrides the Host header sent with all RPCs.
-p PROXYHOST[:PORT], --proxy=PROXYHOST[:PORT]
- Proxies requests through the given proxy server.
If
--proxy_https
is also set, only HTTP will be proxied here, otherwise both HTTP and HTTPS will. --proxy_https=PROXYHOST[:PORT]
- Proxies HTTPS requests through the given proxy server.
- Do not save/load access credentials to/from disk.
--sdk_root=root
- Overrides where the SDK is located.
--passin
- Always read the login password from
stdin
. -A APP_ID, --application=PROJECT_ID
- Specifies the project ID.
-M MODULE, --module=SERVICENAME
- Override the name of the service, which was formerly known as "modules", from
the
appengine-web.xml
orapp.yaml
files. -V VERSION, --version=VERSION
- Override (major) version from
appengine-web.xml
orapp.yaml
--oauth2
- Ignored (OAuth2 is the default).
--noisy
- Log much more information about what the tool is doing.
--enable_jar_splitting
- Split large jar files (> 10M) into smaller fragments.
--jar_splitting_excludes=SUFFIXES
- When
--enable-jar-splitting
is set, files that match the list of comma separated SUFFIXES will be excluded from all jars. --disable_jar_jsps
- Do not jar the classes generated from JSPs.
--enable_jar_classes
- Jar the WEB-INF/classes content.
--delete_jsps
- Delete the JSP source files after compilation.
--retain_upload_dir
- Do not delete temporary (staging) directory used in uploading.
--compile_encoding
- The character encoding to use when compiling JSPs.
-n NUM_DAYS, --num_days=NUM_DAYS
- Number of days worth of log data to get. The cut-off point is midnight UTC. Use 0 to get all available logs. Default is 1.
--severity=SEVERITY
- Severity of app-level log messages to get. The range is 0 (DEBUG) through 4 (CRITICAL). If omitted, only request logs are returned.
--include_all
- Include everything in log messages.
-a, --append
- Append to existing file.
-n NUM_RUNS, --num_runs=NUM_RUNS
- Number of scheduled execution times to compute
-f, --force
- Force deletion of indexes without being prompted.
--no_usage_reporting
- Disable usage reporting.
--use_google_application_default_credentials
- Use Google Application Default Credentials as described in https://developers.google.com/identity/protocols/application-default-credentials
--service_account_json_key_file=path
- location of the service account json key file for a Service Account Credential login. (The cloud SDK uses ~/.config/gcloud/application_default_credentials.json)
Alternatives to appcfg
command line for staging configuration
The command line staging options include the following:
--enable_jar_splitting
--jar_splitting_excludes=SUFFIXES
--disable_jar_jsps
--enable_jar_classes
--delete_jsps
Instead of using these command line options, you should consider setting staging configuration in the application configuration file. This means you can set configuration once for your application instead of having to specify configuration every time you deploy.