Resin Cloud Deployment Reference

From Resin 3.0

(Difference between revisions)
Jump to: navigation, search
Line 168: Line 168:
 
</pre>
 
</pre>
 
</code>
 
</code>
 
=== Deploying to a staging server ===
 
 
 
 
  
 
* TODO explain production/webapp/default/blog-0.1.0
 
* TODO explain production/webapp/default/blog-0.1.0
 
* TODO add a table
 
* TODO add a table
 
* TODO explain how to start up a server with different staging servers
 
* TODO explain how to start up a server with different staging servers
 +
 +
=== Deploying to a staging server ===

Revision as of 22:59, 5 December 2011

  1. Deploying to a local server
  2. Deploying to a remote server
    1. Setting up a user and password
  3. Setting up a cloud topology
    1. Deploying to the Triad
    2. license-add enabling Resin features
  4. Deploy to a staging server
    1. Setting up load balancer to not to deploy to staging server
  5. Common tasks
    1. Deploying a new application deploy
    2. Listing current versions of deployed application
    3. Undeploying a new application
    4. Using deploy-copy to promote a release to production
    5. Using deploy-copy to rollback a release that was deployed to production
    6. Installing mysql driver for a web application using config-deploy
    7. Showing what is in remote config with config-list-ls and config-list-cat
  6. web-app-deploy settings


$ resinctl | grep deploy 
  deploy - deploys an application
  deploy-copy - copies an application
  deploy-list - lists all deployed applications
  deploy-restart - restarts an application
  deploy-start - starts an application
  deploy-stop - stops an application
  undeploy - undeploys an application
  config-deploy - deploys configuration directory
  config-undeploy - undeploys a config

$ resinctl | grep config 
  config-deploy - deploys configuration directory
  config-copy - copies configuration
  config-list - lists all deployed configurations
  config-list-ls - list contents of config dir (ex. ./lib)
  config-list-cat - list contents of config file
  config-undeploy - undeploys a config


Deploying to a local server

Deploy commands available

$ resinctl help deploy


Output:
usage: bin/resin.sh [-conf <file>] [-server <id>] deploy -user <user> \
-password <password> [options] <war-file>

description:
   deploys application specified in a <war-file> to resin server

options:
   -conf <file>          : resin configuration file
   -server <id>          : id of a server
   -address <address>    : ip or host name of the server
   -port <port>          : server http port
   -user <user>          : user name used for authentication to the server
   -password <password>  : password used for authentication to the server
   -host <host>          : virtual host to make application available on
   -name <name>          : name of the context to deploy to, defaults to war-file name
   -stage <stage>        : stage to deploy application to, defaults to production
   -version <version>    : version of application formatted as <major.minor.micro.qualifier>
   -m <message>          : commit message

Turning on versioning:

$ cat /etc/resin/resin.properties | grep deploy

Output:
deploy_versioning : true


$ sudo grep "web-app-deploy" -A 1 /etc/resin/resin.xml 

Output:
      <web-app-deploy path="webapps" versioning="${deploy_versioning}"
                      expand-preserve-fileset="WEB-INF/work/**"/>

"if true, use the web-app's numeric suffix as a version"

Run deploy command passing location of war file.

$ resinctl deploy ./target/blog-0.1.0.war -name blog 

Output:
Deployed production/webapp/default/blog from \
./target/blog-0.1.0.war to hmux://127.0.0.1:6800

To see the deployed you can use resinctl deploy-list

$ resinctl deploy-list

Output:
production/webapp/default/blog

  • TODO explain production/webapp/default/blog
  • TODO add a table
  • TODO explain how to start up a server with different staging servers


Now undeploy it:

$ resinctl undeploy blog

Output:
Undeployed blog from hmux://127.0.0.1:6800

At this point there should be nothing

$ resinctl deploy-list

Now deploy it with versioning:

$ resinctl deploy ./target/blog-0.1.0.BUILD-SNAPSHOT.war -name blog -version 0.1.0 

Output:
Deployed production/webapp/default/blog-0.1.0 from \
./target/blog-0.1.0.BUILD-SNAPSHOT.war to hmux://127.0.0.1:6800

Blog application is under the version 0.1.0

$ resinctl deploy-list

Output:
production/webapp/default/blog-0.1.0

  • TODO explain production/webapp/default/blog-0.1.0
  • TODO add a table
  • TODO explain how to start up a server with different staging servers

Deploying to a staging server

Personal tools