This state requires the Tomcat Manager webapp to be installed and running.
The following grains/pillars must be set for communication with Tomcat Manager to work:
tomcat-manager: user: 'tomcat-manager' passwd: 'Passw0rd'
To manage webapps via the Tomcat Manager, you'll need to configure
a valid user in the file
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-script"/> <user username="tomcat-manager" password="Passw0rd" roles="manager-script"/> </tomcat-users>
Using multiple versions (aka. parallel deployments) on the same context path is not supported.
More information about the Tomcat Manager: http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
If you use only this module for deployments you might want to restrict access to the manager so it's only accessible via localhost. For more info: http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Configuring_Manager_Application_Access
mod_watch(name, url=u'http://localhost:8080/manager', timeout=180)¶
The tomcat watcher function. When called it will reload the webapp in question
undeployed(name, url=u'http://localhost:8080/manager', timeout=180)¶
Enforce that the WAR will be undeployed from the server
jenkins: tomcat.undeployed: - name: /ran - require: - service: application-service
wait(name, url=u'http://localhost:8080/manager', timeout=180)¶
Wait for the Tomcat Manager to load.
Notice that if tomcat is not running we won't wait for it start and the state will fail. This state can be required in the tomcat.war_deployed state to make sure tomcat is running and that the manager is running as well and ready for deployment.
tomcat-service: service.running: - name: tomcat - enable: True wait-for-tomcatmanager: tomcat.wait: - timeout: 300 - require: - service: tomcat-service jenkins: tomcat.war_deployed: - name: /ran - war: salt://jenkins-1.2.4.war - require: - tomcat: wait-for-tomcatmanager
war_deployed(name, war, force=False, url=u'http://localhost:8080/manager', timeout=180, temp_war_location=None, version=True)¶
Enforce that the WAR will be deployed and started in the context path, while making use of WAR versions in the filename.
For more info about Tomcats file paths and context naming, please see http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming
Specify the WAR version. If this argument is provided, it overrides the version encoded in the WAR file name, if one is present.
New in version 2015.8.6.
False or blank value to prevent guessing the version and keeping it blank.
New in version 2016.11.0.
jenkins: tomcat.war_deployed: - name: /salt-powered-jenkins - war: salt://jenkins-1.2.4.war - require: - service: application-service
Be aware that in the above example the WAR
be deployed to the context path
salt-powered-jenkins##1.2.4. To avoid this
either specify a version yourself, or set version to