Giter Site home page Giter Site logo

webbynode / webbynode Goto Github PK

View Code? Open in Web Editor NEW
40.0 40.0 8.0 872 KB

Webbynode automation tool. You can deploy Django and WSGI, PHP, Rack, Rails 2 and Rails 3 applications to your Webby prepared with Webbynode Rapid Deployment engine.

Home Page: http://webbynode.com

Ruby 99.80% Shell 0.04% JavaScript 0.16%

webbynode's Introduction

Webbynode Gem

Available on GitHub and installable from Gemcutter.

DESCRIPTION:

Automates Rails or Rack application deployment using Webbynode Rapid App Deployment.

FEATURES/PROBLEMS:

  • From zero to production with two commands;

  • Super easy updates;

SYNOPSIS:

$ rails app
create  
create  app/controllers
create  app/helpers
create  app/models
(...)

$ cd myapp
$ webbynode init 200.120.123.123 myapp.com
Initializing deployment descriptor for myapp.com...
Creating .gitignore file...
Initializing git repository...

$ webbynode push
Publishing myapp to Webbynode...
[email protected]'s password: 
mkdir: created directory `myapp'
Counting objects: 62, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (53/53), done.
Writing objects: 100% (62/62), 79.14 KiB, done.
Total 62 (delta 10), reused 0 (delta 0)
Checked out master branch

----------------------------
  Webbynode git deployment 
----------------------------

Deploying application myapp as myapp.com...
Configuring Rails application...
  => Configuring apache vHost...
  => Configuring database...
  => Configuring database.yml...
  => Installing missing gems...
  => Migrating database...
/var/rails/myapp/.git

Restarting apache...

myapp deployed successfully.

To [email protected]:myapp
 * [new branch]      master -> master

And that’s it, just visit myapp.com (considering DNS is working) and you should have your Rails app displayed.

Then to update:

$ script/generate scaffold user name:string age:integer password:string
exists  app/models/
exists  app/controllers/
exists  app/helpers/
create  app/views/users
exists  app/views/layouts/
exists  test/functional/
exists  test/unit/
create  test/unit/helpers/
exists  public/stylesheets/
create  app/views/users/index.html.erb
(...)  

$ git add .

$ git commit -m "Added users"
[master a607460] Added users
 15 files changed, 334 insertions(+), 0 deletions(-)
 create mode 100644 app/controllers/users_controller.rb
 create mode 100644 app/helpers/users_helper.rb
 create mode 100644 app/models/user.rb
(...)

$ webbynode push
Publishing myapp to Webbynode...
[email protected]'s password: 
Counting objects: 43, done.
(...)
Restarting apache...

myapp deployed successfully.

To [email protected]:myapp
   2355220..a607460  master -> master

ROADMAP:

  • Ability to delete an app from command line:

    webbynode delete deletes the current app

REQUIREMENTS:

  • Requires, obviously, a Webbynode account

  • Webby server deployed with Rapid Deployment option

  • Only works for Apache with Passenger (Nginx and Passenger on the works)

INSTALL:

sudo gem install webbynode

LICENSE:

(The MIT License)

Copyright © 2010 FIXME full name

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

webbynode's People

Contributors

fcoury avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

webbynode's Issues

Force Push

As we discussed earlier, perhaps it is useful (at this point I don't see what the downside would be) to have a -f flag on the git push webbynode master command.

So either:

git push webbynode +master

Or:

git push webbynode master -f

Just to ensure the application gets pushed regardless of what the remote repository looks like. I occasionally have the need to -f my push because I'm doing local rebases or other craziness.

But if anyone knows of a downside of this, or why we should NOT implement this, I would of course like to hear your arguments. :)

wn init --name

Copied from WN Forum

coenhyde said:

Would it be possible to allow the application name to be an option to 'wn init'? I have a development environment where the direct parent folder is not the application name.

rduarte said:

Maybe something similar to Heroku multiple apps at same local repo:

ricardoduarte ~/git/company/project master $ heroku db:pull
No app specified.
Run this command from app folder or set it adding --app
ricardoduarte ~/git/company/project master $ heroku db:pull --app repo-one-at-heroku
Loaded Taps v0.3.12(...)

Server Warning due to sqlite3-ruby definition

It seems that on the server-side there is one more thing that needs to be adjusted. When I push the application to the Webby, even though I have my sqlite3-ruby gem definition wrapped inside the :test or :development blocks it will raise the following warning on the server:

---------------------
    W A R N I N G 
---------------------

It seems that you have sqlite3-ruby gem listed in your Gemfile. Please visit the URL:

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

If you receive the following error while starting your application:

   Cannot spawn application '/var/rails/your_app': The spawn server has exited unexpectedly.

It is defined, but it's defined like this:

gem 'mysql'

group :development do
  gem 'sqlite3-ruby', :require => 'sqlite3'
end

So it should not raise the warning since it's not going to be loaded in production anyway.

Other than that, I just ran the gem locally, it seems to be working fine, I think it's ready to be released once the server message is fixed. I adjusted the Gemfile error warning as well by the way:
http://github.com/webbynode/webbynode/commit/88255d4d3be7749270eb0f016e22cf1aabdf66af

Gemfile

We must inject this snippet into the Gemfile upon "webbynode init" (that is, if a Gemfile is present).

##
# IMPORTANT!
# Generated by Webbynode: Database Driver Gems

##
# If you are using MySQL on your Webby, be sure to define the 'mysql' driver gem
gem 'mysql'

##
# If you are using PostgreSQL on your Webby, be sure to define the 'pg' driver gem
gem 'pg'

##
# If you are using SQLite3 in your development or test environment,
# be sure to wrap the gem definition inside the group :development and :test blocks
# Warning: Do NOT define the sqlite3-ruby gem outside of the :development and :test blocks
# because Passenger will conflict with it. If you really must use SQLite3 in production
# then be sure to specify sqlite3-ruby version "1.2.5" since this version is does NOT conflict with Passenger
group :development do
  gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
end
group :test do
  gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
end

By default Rails produces the following line in the Gemfile:

gem 'sqlite3-ruby', :require => 'sqlite3'

We need to ensure this line gets removed. But we should not use it to replace with the Webbynode generated snippet, since that line might not be present at the time the user calls webbynode init.

So I suggest we just remove "gem 'sqlite3-ruby', :require => 'sqlite3'" and append the above Webbynode snippet to the Gemfile to ensure it always gets added.

Problem detecting growlnotify on Windows

When trying to run wn init in Windows:

<<D:\Users\Nonato\Desktop\automovel_na_web>wn init automovel_na_web

warning: HTTParty depends on version 0.1.7 of crack, not 0.1.6.

[Webbynode] Initializing application automovel_na_web with dns automovel_na_web

D:/ruby/lib/ruby/gems/1.8/gems/webbynode-0.2.4/bin/../lib/webbynode/notify.rb:14:
in ``': No such file or directory - which growlnotify (Errno::ENOENT)

Fix the Amazon AWS credentials text

The introductory text where the user is prompted for his AWS credentials has an inexistent URL:

This service will backup a dump of your application Database and the contents
of your application folder to a bucket on Amazon S3. If you don't have an 
Amazon S3 account or if you don't know how to create one, please check our 
guide on http://guides.webbynode.com/rapid.

Multiple Credentials

I work with multiple clients and each one of them uses differents Webbynode credentials. Is there any way to store the default credentials per-project, (like in .webbynode/settings for example)?

Great tool and great host. You saved my life :)

Passenger 3

I know it's currently in beta. But just something to keep in mind, so I'm posting it here so we don't forget later on at least when the 3.0.0 version comes out.

Deploy of an alternate branch fails

Even though I was on the test branch, it pushed the master branch:

[imac27] fcoury:~/Projects/dude [git:test] → git branch
  master
* test

[imac27] fcoury:~/Projects/dude [git:test] → wn push
warning: HTTParty depends on version 0.1.7 of crack, not 0.1.6.
[Webbynode] Pushing dude
Counting objects: 19, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (19/19), 4.11 KiB, done.
Total 19 (delta 0), reused 0 (delta 0)
Checked out master branch

----------------------------
  Webbynode git deployment 
----------------------------

Apache webserver detected...
Setting up DNS...

Deploying application dude as dude1.webbyapp.com...

Configuring Django application...
  => Configuring apache vHost...
     WARN: Missing django_username setting, assuming 'admin'
     WARN: Missing django_email setting, assuming '[email protected]'
  => Configuring database...
  => Configuring server side settings.py...
  => Migrating database...
No fixtures found.
  => Creating Django superuser...

Restarting apache

dude deployed successfully.

Created http://dude1.webbyapp.com/

To [email protected]:dude
 * [new branch]      master -> master

[Webbynode] Finished pushing dude

And, if I remove the master branch:

[imac27] fcoury:~/Projects/dude [git:test] → git branch -D master
Deleted branch master (was eb8dde5).

[imac27] fcoury:~/Projects/dude [git:test] → wn push
warning: HTTParty depends on version 0.1.7 of crack, not 0.1.6.
[Webbynode] Pushing dude
error: src refspec master does not match any.
error: failed to push some refs to '[email protected]:dude'

[Webbynode] Finished pushing dude

Should push the current branch, or at least ask when not master. To be discussed.

Create wn refresh

It would remove the application remotely (without removing the database) and redeploy it using git.

Maintenance

Might be nice to have a maintenance feature.

So basically something like:

webbynode maintenance on and webbynode maintenance off to toggle it.

An idea is to have a specific html file in the public folder, like a public/maintenance.html. Then once the user switches on maintenance mode, the nginx or apache2 configuration file gets update and always points to the public/maintenance.html regardless of the URL in the browser, using a rewrite rule or something?

Start, Stop, Restart broken?

I tried to use the webbynode gem to start/stop/restart a webby but it doesn't trigger the event. It does ask if I am sure I want to reboot/stop/start but after I say y then nothing happens. Had to manually reboot from the manager.

Option to install common libraries on Webby Deployment

A lot of people will be SSH'ing into their Webbies to install for example: imagemagick so they can manipulate images through some of the ruby libraries, like RMagick for example.

Now, when you deploy an application that installs RMagick or similar libraries, and imagemagick has not been installed, it'll die. This forces the user to manually SSH into the Webby and run apt-get install imagemagick.

It would be nice to have these kinds of installations as -checkbox- options in the Webby manager when you deploy your Webby. So that these will be pre-installed and no errors will occur.

Something like:

- Install ImageMagick for Image Manipulation?

Or would you see this as an addon that the Webbynode gem manages?

Your thoughts? :)

Symlinks and Rollbacks

Wouldn't it be awesome to have symlinked folders (like Capistrano does) so your app doesn't go down while deploying and possibly adding rollbacks? :)

Please don't delete my schema.rb file

I'm opening the issue in response to a twitter conversation with @webbynode. There are so many reasons not to delete the schema.rb file from my rails apps, that doing so in a way that forces my entire team and I to have no schema.rb for as long as our application is hosted at webbynode is a really big problem.

According to @webbynode, there are complications with schema.rb conflicts that led to the removal of the file becoming part of the initialisation process. However, I can only see that this could happen if commits were made on the server-side because in any other circumstance a push would either be a fast-forward or rejected outright.

Problem

The schema.rb file exists for a reason, it's not just there for the hell of it. It's personally saved me hours of work and time on several occasions, probably amounting to days. Migration syntaxes can change, old migrations can have bad model/method references in them that cause them to fail, migrations aren't always transactional, and people can commit bad migrations or accidentally modify old ones without knowing. I've encountered all of those problems, and every time the schema.rb file has saved me.

Please read this fantastic article on the issue: http://www.saturnflyer.com/blog/jim/2010/09/14/always-check-in-schema-rb/

Solutions

In any case, because webbynode git remotes are purely used for deploys and not for actual repo hosting, simply force pushing as per issue #30 would be a viable alternative fix.

Another approach might be a combination of git update-index --assume-unchanged db/schema.rb and server-side deletion, or forcing a restore of schema.rb before receiving a push.

The last alternative solution I can think of is to use git's ability to automatically resolve conflicts on certain files. In fact, there seems to be a post from @tpope from this very week that talks about applying this technique for schema.rb files: http://tbaggery.com/2010/10/24/reduce-your-rails-schema-conflicts.html

wn webbies with no credentials

Output breaks between the header and the details, placing the credentials check in between:

→ wn webbies
Fetching list of your Webbies...

  Webbies         IP              Node      Plan            Status         

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 API 
Token. 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: [email protected]
API token:   a3bef77b54bbb6e19071efd4d1bbc5f3b94b9d07

  webby3773       208.88.124.46   miami-b02 Webby 256       on

Gem dependency "Crack"

warning: HTTParty depends on version 0.1.7 of crack, not 0.1.6.

Fix this warning.

This warning occurs on every wn push, wn delete, wn init, etc.

Auto assume the Webby for deployment if user only have 1

There's no point in doing:

wn init my_webby

If the user only has one webby. Let's allow the user to omit this field if he/she only has 1 Webby and is deploying with the default dns.

This will probably have some problems with unamed parameter dns:

wn init www.myapp.com

Will make www.myapp.com be dubious. One idea is to make url or dns a named parameter:

wn init --url=www.myapp.com   # maps http://www.myapp.com
wn init --dns=super_duper     # maps http://super_duper.webby_app.com

Webbynode Console (`webbynode console`)

@gabriel_rinaldi brought up something we've discussed a LONG time ago in the early stages of Rapp. I can't recall what was said but what do you think of implementing something like:

webbynode console

Which basically does webbynode remote rails console but keeps the connection established?

add_key barfing

hello,
after setting up the webbynode gem with my account's api key, I tried adding the ssh key with add_key, and got this error:

http://pastie.org/872975

here's my .git/config, snipped:

http://pastie.org/872984

trying to troubleshoot here, will post anything else I find in the process.

thanks
Oliver

Command "wn init" breaks addons setting formatting

After wn init:

[imac27] fcoury:~/Projects/rails3app [git:master] → git diff
diff --git a/.webbynode/settings b/.webbynode/settings
index 0ea6e39..b4be6a6 100644
--- a/.webbynode/settings
+++ b/.webbynode/settings
@@ -1,2 +1,2 @@
 engine=rails3
-addons=(beanstalkd)
+addons=beanstalkd

.gitignore

We must apply the following during webbynode init:

echo db/schema.rb >> .gitignore
echo config/database.yml >> .gitignore

For the obvious reasons. ; )

EDIT

I just thought of a scenario where this might still cause issues..

If webbynode init is invoked at a later time (not during the creation of a new app) and thus, the db/schema.rb and config/database.yml are already checked into git, you might want to do this as well:

git rm config/database.yml
git rm db/schema.rb

before the initial webbynode commit.

However then the next problem is that the config/database.yml will be removed from the application as well, since it's removed from the repository. So I think we need to do something like this in that case:

# make a tmp backup
cp config/database.yml config/webbynode.database.yml

# remove the files
git rm db/schema.rb
git rm config/database.yml

# add the git ignores
echo "" >> .gitignore # ensure there is a new line for the entries below
echo db/schema.rb >> .gitignore
echo config/database.yml >> .gitignore

# rename the webbynode.database.yml back to database.yml
mv config/webbynode.database.yml config/database.yml

# remove webbynode.database.yml from git
git rm config/webbynode.database.yml

# webbynode's init commit
git add .
git commit -m "Initial Webbynode Commit for Webbynode Init"

So this will basically remove the schema.rb and database.yml from the localy git repository without losing the database.yml since it's backed up for a moment and restored after git is finished removing stuff.

Here's a simulation from the scenario where a user already had schema.rb and database.yml checked into git before running webbynode init:

http://cl.ly/67f7253a6da5fdb75a97
and actually the config/database.yml still exists, but is now properly being .gitignored ; )

I think this will work, your thoughts?

Restart Rails application

I guess it's similar to the webbynode restart, but instead of restarting the whole server, just restart the Rails application?

config/database.yml

Since the database.yml will be added to the .gitignore file now, might it be an idea to either let the user know upon initialization and then also (unless it already exists) create a database.example.yml by basically copying the current database.yml.

That way if the user hasn't realized that database.yml was added to .gitignore, at least he/she has a copy of it in database.example.yml. I believe most people have an example file and check that into the git repository.

Is it actually possible to add comments to a .gitignore file? Probably with the 'pound' symbol?
We might want to provide a comment above our 2 .gitignore entrees just to point out "why" these are placed here. (example: database.yml must be ignored because webbynode uses a custom database.yml, schema.rb must be ignored because it might cause migration conflicts.) or something along those lines.

Your thoughts?

upstart conf files

I noticed upstart files for our node apps are created with the same name as our application. IMO this seems a little dangerous. What happens if we create an app called 'hostname' for example? Would the real hostname.conf get overridden or would the deployment fail. I think you should prefix all the upstart files with 'wn-' or something similar.

Gem Installation on Deployment

As we attempted that initial deployment, it failed because the gem "hIRB" was not installed. This obviously caused a LoadError exception to be raised. This was being required from inside the config/environments/development.rb file. Because of this error, no gems could be installed.

Any idea's on how to prevent this from happening? Yes, obviously we could install gems on the server but doesn't that semi-kill the purpose of the gem? Maybe these are viable solutions:

  • Have a separate file (that doesn't require the Rails Environment to be loaded) which contains all the gem dependencies for the application.
  • Create a custom Rake Task on deployment (or link to it from a Rakefile?) which executes the rake gems:install command. Except that you wrap all of that inside begin/rescue/end blocks to prevent any raise/exception/error from stopping the gems from being installed.

Any other idea's otherwise?

No such file to load - Jcode

/ruby-1.9.2-head@rails3/gems/webbynode-0.2.4/lib/webbynode/command.rb:1:in `require': no such file to load -- jcode (LoadError)

Webbynode is requiring Jcode, which I believe is deprecated in Ruby 1.9.2, resulting in a fail

Regards

Handle key mismatch

Today it throws a nasty error:

/Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/verifiers/strict.rb:49:in `process_cache_miss': fingerprint 96:ff:bf:11:30:f2:30:98:6b:a1:ef:c0:00:ed:88:af does not match for "208.88.124.46" (Net::SSH::HostKeyMismatch)
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/verifiers/strict.rb:38:in `verify'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/verifiers/lenient.rb:15:in `verify'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb:165:in `verify_server_key'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb:68:in `exchange_keys'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/algorithms.rb:331:in `exchange_keys'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/algorithms.rb:172:in `proceed!'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/algorithms.rb:163:in `send_kexinit'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/algorithms.rb:118:in `accept_kexinit'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/session.rb:186:in `poll_message'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/session.rb:164:in `loop'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/session.rb:164:in `poll_message'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/session.rb:201:in `wait'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/session.rb:199:in `loop'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/session.rb:199:in `wait'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh/transport/session.rb:78:in `initialize'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh.rb:179:in `new'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/net-ssh-2.0.23/lib/net/ssh.rb:179:in `start'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/../lib/webbynode/ssh.rb:17:in `connect'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/../lib/webbynode/ssh.rb:36:in `execute'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/../lib/webbynode/remote_executor.rb:15:in `create_folder'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/../lib/webbynode/server.rb:28:in `add_ssh_key'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/../lib/webbynode/commands/init.rb:81:in `execute'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/../lib/webbynode/command.rb:272:in `run'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/../lib/webbynode/application.rb:17:in `execute'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.3.beta/bin/wn:7
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/bin/wn:19:in `load'
    from /Users/fcoury/.rvm/gems/ree-1.8.7-2010.02/bin/wn:19

Failure on gems:install is not reported

I just deployed an application with the Rapid App Deployment engine, but it failed to warn me that the "rake gems:install" process had failed.

My application is a Ruby on Rails app and has a "require 'brI18n'" in it`s environment.rb, which made the gems:install task fail. This is a bug in my app, but the Rapid App Deployment engine gave me no warn about that whatsoever. I only notice the situation when i tried to access my application.

Cannot use webbynode push if SSH uses passphrase.

I have just renewed my SSH key and decided to use passphrase along with the SSH key. It would appear that iI just get an authentication error message.

Could it be changed to either make the error message a bit more useful and notify the user if it's because of the passphrase, or, add support for passphrases.

Create a DB push pull task

There should be an easy way to push and pull databases. May be you could do:

  • webbynode database:pull mysql://user@host/database_name?encoding=utf8
  • webbynode database:push mysql://user@host/database_name?encoding=utf8

That way it would be easy to sync local and remote databases and/or make backups.

webbynode delete database

Thoughts for an additional feature to drop the database as well when invoked with a particular argument. e.g.

webbynode delete --include-database

Commit error with quotes

An error occurs when initializing with * for catch-all wildcard:

➜ gets_to_see git:(master) wn change_dns "*.getsto.se"
[Webbynode] Changing DNS to *.getsto.se...
Creating DNS entry for *.getsto.se...
WARNING: '*.getsto.se' is already setup on Webbynode DNS, make sure it's pointing to 208.88.125.12
/Users/doug/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.2/bin/../lib/webbynode/git.rb:168:in `handle_output': [master eb3570d] Changed DNS to "*.getsto.se" (Webbynode::GitError)
2 files changed, 1 insertions(+), 2 deletions(-)
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.2/bin/../lib/webbynode/git.rb:161:in `exec'
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.2/bin/../lib/webbynode/git.rb:85:in `commit'
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.2/bin/../lib/webbynode/commands/change_dns.rb:24:in `execute'
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.2/bin/../lib/webbynode/command.rb:272:in `run'
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.2/bin/../lib/webbynode/application.rb:17:in `execute'
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/gems/webbynode-1.0.2/bin/wn:7
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/bin/wn:19:in `load'
from /Users/doug/.rvm/gems/ree-1.8.7-2010.02/bin/wn:19

Add-ons

  • Resque
  • Memcache
  • Redis

What else?

Webbynode Logs (`webbynode logs`)

Actually a simple implementation to do. I frequently find myself creating an alias, or just typing the following:

webbynode remote cat logs/production.log

but it would be nice if we could just have a built-in method that'd output the logs:

webbynode logs

DB Create, Migrate, Environment and Database.yml

Hi,

I tried this out and it seemed that after I pushed my initial commit to the server, it would not create, nor migrate my database in the "production" environment. Rather than that, it migrated the development environment.

As I am writing this, I just noticed that Webbynode has it's own database.yml file. However, when the database.yml is being stored inside the repository, Webbynode will not overwrite it and it will use whatever the user has set the development database to as database. It might be an idea to force overwrite even if the database.yml is stored inside the repository? Or do you want the option for the user to choose the database name and such? This might cause some confusion.

I'm not sure where else I should post the issues, so I started posting them here, at least then for the time being if we're supposed to post them anywhere else. Just posting whatever I find here until then so things can get fix and/or clarified inside the Webbynode guides.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.