Resin Cloud Deployment Reference

From Resin 3.0

(Difference between revisions)
Jump to: navigation, search
(Deploying to a local server)
(Deploying to a local server)
Line 44: Line 44:
  
 
== Deploying to a local server ==
 
== Deploying to a local server ==
 +
 +
Deploy commands available
 +
 +
<code>
 +
<pre>
 +
$ 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
 +
</pre>
 +
</code>
  
 
Turning on versioning:
 
Turning on versioning:

Revision as of 22:36, 5 December 2011

  1. Setting up a user and password
  2. Deploying to a local server
  3. Deploying to a remote server
  4. Setting up a cloud topology
    1. Deploying to the Triad
    2. license-add enabling Resin features
  5. Deploy to a staging server
    1. Setting up load balancer to not to deploy to staging server
  6. 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
  7. 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

Personal tools