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
Basic Topics
Advanced Topics
Additional Info