Rapid Application Deployment Engine

Workflow

Please note that using the Webbynode gem does not replace the need for keeping your source under a version control system.

Source Control Workflow

You need to keep the same workflow for your source control. If you are using git for instance, continue applying the usual workflow:

... changes ...
$ git add .
$ git commit -m "Summary of changes"
... repeat commit cycles as needed ...
$ git merge
... etc ...
$ git push
... repeat ...

When your application is tested and ready to be updated on your Webby, use the Deployment Workflow below

Deployment Workflow

After you finish your regular Source Control Workflow, perform all the merges (if applicable), you can now push your changes to Webbynode and publish them.

Taking into consideration the workflow above, all you have to do, in addition to the latest git push is:

# last git push
$ git push

# now we'll deploy
$ wn push
Publishing myapp to Webbynode...
mkdir: created directory `myapp'
Counting objects: 86, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (72/72), done.
Writing objects: 100% (86/86), 82.72 KiB, done.
Total 86 (delta 11), reused 0 (delta 0)
Checked out master branch

----------------------------
  Webbynode git deployment 
----------------------------
(...)

After deploying, you should start a new Source Control Workflow, until it comes time to publish again.

Distributed Teams

Some advice for distributed teams is to have the role of a Deployment Manager. This team member is usually responsible for merging all the changes from other developers, testing them and finally deploying them.

Assuming this is something you want to do and also assuming you’re using git here is one example of a possible workflow:

Developer 1

# creates a feature branch
$ git checkout -b feature_1

# adds and commits the changes
$ git add .
$ git commit -m "Implemented Feature 1"

# perform and tests all the changes
$ git checkout master

# merges feature
$ git merge --no-ff feature_1

# pushes to source control server
$ git push

Developer 2

# creates a feature branch
$ git checkout -b feature_2

# adds and commits the changes
$ git add .
$ git commit -m "Implemented Feature 2"

# perform and tests all the changes
$ git checkout master

# merges feature
$ git merge --no-ff feature_2

# pushes to source control server
$ git push

Deployer (or Configuration Manager)

# checks out the branch to deploy
$ git checkout release

# merges feature_1
$ git merge --no-ff feature_1

# tests...

# merges feature_x
$ git merge --no-ff feature_x

# optional: tag the release
$ git tag release_abcdef_102

# deploys to Webbynode
$ webbynode push
Comments
blog comments powered by Disqus