Rapid Application Deployment Engine

Bootstrapping

Before deploying your application, you need to specify a couple of configuration options. The first and most important is
where you’ll want to install it.

In order to do that, you’ll need to install the Webbynode’s RubyGem, by executing the following command:

$ sudo gem install webbynode

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Webbynode Rapid Deployment Gem
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Thank you for installing Webbynode gem. You're now
able to deploy and manage your applications from
the comfort of your command line.

Please read our guide for a quickstart:
http://guides.webbynode.com/articles/readystacks/rapid-apps.html

Successfully installed webbynode-1.0.1
1 gem installed

Previous versions of our gem required you to specify your Webby name during initialization. This new version, however, will automatically get your Webby name if you only have one. Otherwise, you can check your Webbies by using the webbies command:

$ wn webbies
Fetching list of your Webbies...

  Webbies         IP              Node      Plan        Status         
  webby3067       61.21.71.31     miami-b02 Webbybeta   on
  sandbox         201.81.121.201  miami-b15 Webbybeta   on

For this example, let’s say I want to install to sandbox.

Now that you know where to deploy, just run the init command. Besides the Webby, you can specify the DNS entry you want your app to respond to.

When in doubt about any command of the Webbynode Gem, you can use the --help option and a nice explanation of the command and it’s options will be displayed. Here’s the help for the init command we’re going to run:

$ wn init --help

Prepares the application on current folder for deployment
Usage: webbynode init [webby] [options]
Parameters:
    webby               Name or IP of the Webby to deploy to, optional
Options:
    --dns               The DNS used for this application, optional
    --adddns            Creates the DNS entries for the domain, 
                        optional
    --port              Specifies an alternate SSH port to connect 
                        to Webby, optional
    --engine            Sets the application engine for the app, 
                        optional

Domain name for your application

If you don’t specify the domain name during initialization, the Rapid App Engine will assign a temporary one, so you can use your website and even share it without having to buy a domain.

However, if you already own an domain and considering its Name Servers are already pointing to Webbynode’s Name Servers (check this guide to make sure), the gem can even create the appropriate configuration entries for you. If that’s what you want, just use the --adddns option.

Application engine

The Webbynode gem will try to autodetect the engine your application uses, and can reliably identify Rails, Rack and Rails 3 applications. However, for PHP and Django apps (and all applications that fail to be autodetected), you’ll be presented with a menu:

$ wn init
[Webbynode] Initializing application php with dns php

Supported engines:

  1. Django
  2. PHP
  3. Rack
  4. Rails 2
  5. Rails 3

Select the engine your app uses:

Once you select the engine, the process continues…

Let’s say you have created a Rails app called sampleapp. If a domain option isn’t provided as described above, your app will respond to sampleapp.webbyapp.com (it’s always name-of-app.webbyapp.com — in case your app’s name is already taken, we’ll add numeric suffixes — like 1, 2, … — until we find an unique name for you).

So let’s try it:

$ cd ~/dev/sampleapp
$ wn init sandbox
[Webbynode] Initializing application sampleapp with dns sampleapp
            Retrieving IP for Webby sandbox...

Webbynode API Token

For optimal usage of all the features provided by the Webbynode Gem, 
we need to interact with your account.

Please provide below the email you use to login on Webbymanager and 
your APIToken. The API token can be found on the Account section of 
Webbymanager. For more instructions, visit this link:

  http://guides.webbynode.com/articles/rapidapps/bootstrapping.html

Please provide your credentials below.

Login email:

Interacting with Webbynode API

In order to interact with your account, the Webbynode Gem will need the email and API Token you use in Webbymanager. In case you don’t know where it is, open manager and click the Account tab, like shown below:

And then copy the token under your account Overview section:

From this point on you won’t have to enter this information again, since it’s now stored in a file called .webbynode under your home directory.

After entering your email and API token, the process continues:

Please provide your credentials below.

Login email: testing@coury.com.br
API token:   23f4aa59f34eb1e8944c2fd110755ab568788a0e


Set deployment Webby to webby3717.

Initializing directory structure...
Initializing git and applying initial commit...
Adding webbynode as git remote...
Enter your deployment password for 208.88.124.145: 

Now you’ll have to provide the deployment password you chose when deploying. Once you do, your SSH key will be added to the server and you won’t have to enter it again.

Once you enter it, your application will be ready for deployment.

Here’s a summary of what just happened:

  • If your application didn’t have a git repo, one was created one for you.
  • Added a new remote source for the git repo called webbynode pointing to your Webby’s IP;
  • Created a new local SSH key, in case you didn’t have one;
  • Uploaded and added your local SSH key to your deployment (git) user’s authorized_keys file on your Webby;
  • Added some configuration files to your repository;
  • And finally, a new git commit for all those changes was created.

Now your app is ready to be published. Congratulations!

Continue with Publishing…

Comments
blog comments powered by Disqus