プッシュ天    Git PusshutenHeavenly Git-based Deployment     http://gitpusshuten.com/
About me              I am    Yasith FERNANDO           Work for   favoritemedium.com               Offices in GZ and Sing...
What"It is a Git-based application deployment tool that allows you todefine your environment by utilizing modules and prov...
Why● Save time● Have a well defined and reliable deployment procedure● Simple and easy to use and setup● Well suited for s...
How● To setup a basic rvm-rails-passenger-nginx-mysql stack● gem install gitpusshuten● Init and configure gitpusshuten for...
Modules● Add different features and functionalities to gitpusshuten● Modules that come with the gem   ○ Active Record   ○ ...
Init and Configurecd /path/to/Rails.rootheavenly initializeedit Rails.root/.gitpusshuten/config.rbpusshuten My Application...
Install your SSH key to the server (forthe root user account)heavenly user install-root-ssh-key to staging
Install RVM!heavenly rvm install to staging
Install Passengerheavenly passenger install to staging ● Choose nginx/apache ● Adds nginx config    ○ Rails.root/.gitpussh...
Create the User account forDeploymentsheavenly user add to staging ● Will add the user to the server as specified in the c...
Setup MySQLheavenly mysql install to stagingheavenly mysql add-user to staging ● Install MySQl ● Provide a password for th...
Deploy! (finally...)heavenly push branch master to staging
Pros and ConsPros                           Cons ● Simple                       ● Not very popular ● Acts as both a       ...
More Info● http://gitpusshuten.com/documentation/● http://gitpusshuten.com/guides/setting-up-a-full-ruby-on-  rails-enviro...
Thanks!
Upcoming SlideShare
Loading in...5
×

Git pusshuten

689

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
689
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Git pusshuten

  1. 1. プッシュ天 Git PusshutenHeavenly Git-based Deployment http://gitpusshuten.com/
  2. 2. About me I am Yasith FERNANDO Work for favoritemedium.com Offices in GZ and Singapore Blog: http://thekindofme.wordpress.com Github: http://github.com/thekindofme Twitter: @meaningful Glad to be here!
  3. 3. What"It is a Git-based application deployment tool that allows you todefine your environment by utilizing modules and provision yourserver with basic deployment needs."- http://gitpusshuten.com/about/ ● Not just a deployment tool ● Cross between a deployment tool (ex: capistrano) and a server configuration automation (ex: chef) tool ● Have limited functionalities of both sides
  4. 4. Why● Save time● Have a well defined and reliable deployment procedure● Simple and easy to use and setup● Well suited for small to medium sized projects
  5. 5. How● To setup a basic rvm-rails-passenger-nginx-mysql stack● gem install gitpusshuten● Init and configure gitpusshuten for your rails project
  6. 6. Modules● Add different features and functionalities to gitpusshuten● Modules that come with the gem ○ Active Record ○ Apache ○ Bundler ○ MySQL ○ Nanoc ○ NginX ○ Passenger ○ RVM (Ruby Version Manager)
  7. 7. Init and Configurecd /path/to/Rails.rootheavenly initializeedit Rails.root/.gitpusshuten/config.rbpusshuten My Application, :staging, :production do configure do |c| c.user = gitpusshuten c.ip = 123.45.678.90 c.port = 22 c.path = /var/applications/ end modules do |m| m.add :bundler m.add :active_record m.add :passenger m.add :nginx m.add :rvm m.add :mysql endend
  8. 8. Install your SSH key to the server (forthe root user account)heavenly user install-root-ssh-key to staging
  9. 9. Install RVM!heavenly rvm install to staging
  10. 10. Install Passengerheavenly passenger install to staging ● Choose nginx/apache ● Adds nginx config ○ Rails.root/.gitpusshuten/nginx/staging.vhost ● Edit it ● Upload the new config file to the server ○ heavenly nginx upload-vhost to staging
  11. 11. Create the User account forDeploymentsheavenly user add to staging ● Will add the user to the server as specified in the config.rb file.
  12. 12. Setup MySQLheavenly mysql install to stagingheavenly mysql add-user to staging ● Install MySQl ● Provide a password for the root user ● Create a mysql user as specified in the config.rb file ● Provide a password for the new user
  13. 13. Deploy! (finally...)heavenly push branch master to staging
  14. 14. Pros and ConsPros Cons ● Simple ● Not very popular ● Acts as both a ○ Limited number of modules ○ Project is not very active deployment and server configuration automation ● Might be too simple for tool your needs ● Useful set of modules for ● You might not want a the popular rails- single tool to handle both passenger-nginx-mysql deployment and server stack configuration
  15. 15. More Info● http://gitpusshuten.com/documentation/● http://gitpusshuten.com/guides/setting-up-a-full-ruby-on- rails-environment/● https://github.com/meskyanichi/gitpusshuten
  16. 16. Thanks!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×