Your SlideShare is downloading. ×
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Git pusshuten
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Git pusshuten

662

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
662
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. プッシュ天 Git PusshutenHeavenly Git-based Deployment http://gitpusshuten.com/
  • 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. 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. 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. How● To setup a basic rvm-rails-passenger-nginx-mysql stack● gem install gitpusshuten● Init and configure gitpusshuten for your rails project
  • 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. 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. Install your SSH key to the server (forthe root user account)heavenly user install-root-ssh-key to staging
  • 9. Install RVM!heavenly rvm install to staging
  • 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. Create the User account forDeploymentsheavenly user add to staging ● Will add the user to the server as specified in the config.rb file.
  • 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. Deploy! (finally...)heavenly push branch master to staging
  • 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. More Info● http://gitpusshuten.com/documentation/● http://gitpusshuten.com/guides/setting-up-a-full-ruby-on- rails-environment/● https://github.com/meskyanichi/gitpusshuten
  • 16. Thanks!

×