Octopus.TomcatDeploy exported 2026-07-22 by Octopus Deploy belongs to ‘JavaAppServer’ category.
Deploy a Java application to Tomcat 7+ via the Tomcat Manager.
Parameters
When this step is included in a project’s deployment process, the parameters below can be set.
Tomcat Manager URL
Tomcat.Deploy.Controller (required)
The URL of the Tomcat Manager instance that the package will be uploaded to. This URL is relative to the host that is executing the step.
Default: http://localhost:8080/manager
Example: http://localhost:8080/manager
Management user
Tomcat.Deploy.User (required)
The username to use with the management interface. This user must be assigned to the manager-script group in the tomcat-users.xml file.
Management password
Tomcat.Deploy.Password (required)
The password to use with the management interface.
Context path
Tomcat.Deploy.Name
The context path of the deployed artifact. For example, setting this field to ‘myapp’ will result in the deployment having the context path /myapp in Tomcat. Set the value to / to deploy to the root context.
Example: myapp
Deployment version
Tomcat.Deploy.Version
The Tomcat version used with parallel deployments. Leave blank to leave the Tomcat version undefined, which will overwrite any existing deployment with the same context path.
Application state
Tomcat.Deploy.Enabled
Whether to leave the application running or stop the application after deployment.
Allowed values: True, False
Default: True
Optional features
Enable features by adding their IDs to Octopus.Action.EnabledFeatures (a comma-separated list).
Custom Deployment Scripts Octopus.Features.CustomScripts
Execute scripts during the deployment (pre-deploy, deploy, post-deploy) without embedding them in your package.
Octopus.Action.CustomScripts.PreDeploy.
Octopus.Action.CustomScripts.PreDeploy.<ext>
Pre-deploy script body. The key’s
Octopus.Action.CustomScripts.Deploy.
Octopus.Action.CustomScripts.Deploy.<ext>
Deploy-phase script body. The key’s
Octopus.Action.CustomScripts.PostDeploy.
Octopus.Action.CustomScripts.PostDeploy.<ext>
Post-deploy script body. The key’s
Structured Configuration Variables Octopus.Features.JsonConfigurationVariables
Replace settings in JSON, YAML, XML, and Java Properties files with Octopus variables. Enabled by default for package deployments.
Octopus.Action.Package.JsonConfigurationVariablesTargets
Octopus.Action.Package.JsonConfigurationVariablesTargets
Newline-separated list of target files (e.g. appsettings.json). Wildcards supported.
Substitute Variables in Templates Octopus.Features.SubstituteInFiles
Transforms files using the Octopus #{Variable} substitution syntax. Enabled by default for package deployments.
Octopus.Action.SubstituteInFiles.TargetFiles
Octopus.Action.SubstituteInFiles.TargetFiles
Newline-separated list of file names to transform (relative to package). Wildcards supported.
Octopus.Action.SubstituteInFiles.OutputEncoding
Octopus.Action.SubstituteInFiles.OutputEncoding
Encoding name for the output file (e.g. utf-8). Optional.
Step configuration using OCL
Example in Octopus Configuration Language (OCL):
step "deploy-to-tomcat" {
name = "Deploy to Tomcat"
properties = {
Octopus.Action.TargetRoles = "tomcat-server"
}
action {
action_type = "Octopus.TomcatDeploy"
properties = {
Octopus.Action.Package.DownloadOnTentacle = "False"
Octopus.Action.Package.FeedId = "octopus-server-built-in"
Octopus.Action.Package.PackageId = "MyApp"
Octopus.Action.RunOnServer = "false"
Tomcat.Deploy.Controller = "http://localhost:8080/manager"
Tomcat.Deploy.Enabled = "True"
Tomcat.Deploy.Name = "myapp"
Tomcat.Deploy.Password = "#{Tomcat.Manager.Password}"
Tomcat.Deploy.User = "tomcat-manager"
}
packages {
acquisition_location = "Server"
feed = "octopus-server-built-in"
package_id = "MyApp"
}
}
} Page updated on Wednesday, July 22, 2026