Created
August 24, 2013 16:12
-
-
Save jgarber/6328999 to your computer and use it in GitHub Desktop.
Transcript of live coding from https://speakerdeck.com/promptworks/the-eight-fingered-chef
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
run_list( | |
'recipe[chef-solo-search]', | |
'recipe[rails_application]' | |
) | |
default_attributes( | |
rails: { | |
app: {name: "sample_app"}, | |
deploy: { | |
repository: "https://github.com/jgarber/sample_app_2nd_ed.git" | |
} | |
} | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Download from http://downloads.vagrantup.com/ | |
vagrant -v | |
vagrant plugin install vagrant-vbguest | |
vagrant plugin install vagrant-vbox-snapshot | |
mkdir madison-jenkins | |
cd madison-jenkins | |
vagrant init precise64-vanilla | |
tree | |
vi Vagrantfile | |
# config.vm.hostname = "madison-jenkins-vagrant" | |
# Uncomment forwarded_port; ***change 80 to 8080 | |
vagrant up | |
vagrant ssh | |
exit | |
vagrant ssh-config --host vagrant >> ~/.ssh/config | |
ssh vagrant | |
exit | |
bundle init | |
vi Gemfile | |
# gem 'berkshelf' | |
# gem 'knife-solo' | |
bundle | |
knife solo init --berkshelf . | |
vi Berksfile | |
# cookbook 'apt' | |
# cookbook 'jenkins', github: 'opscode-cookbooks/jenkins' | |
berks install | |
knife solo prepare vagrant | |
vagrant snapshot take prepared | |
vi nodes/vagrant.json | |
# add "recipe[apt]", "recipe[jenkins::server]" to runlist | |
knife solo cook vagrant | |
# open http://localhost:8080 | |
# Now, deploying sample_app_2nd_ed | |
cd .. | |
mkdir madison-sample-app | |
cd madison-sample-app/ | |
vagrant init precise64-vanilla | |
vi Vagrantfile | |
# config.vm.hostname = "madison-sample-app" | |
# Uncomment forwarded_port; port 8081 | |
vagrant up | |
bundle init | |
vi Gemfile | |
# gem 'berkshelf' | |
# gem 'knife-solo' | |
bundle | |
knife solo init --berkshelf . | |
vi Berksfile | |
# cookbook 'chef-solo-search' | |
# cookbook 'rails_application', github: 'jgarber/chef-rails_application' | |
berks | |
# Put app.rb from the gist in roles/ | |
knife solo prepare vagrant --run-list "role[app]" | |
vagrant snapshot take prepared | |
knife solo cook vagrant | |
# open http://localhost:8081 | |
# Set knife[:digital_ocean_client_id] and knife[:digital_ocean_api_key] | |
# in .chef/knife.rb | |
vi Gemfile | |
# gem 'knife-digital_ocean' | |
bundle | |
knife digital_ocean region list | |
knife digital_ocean size list | |
knife digital_ocean sshkey list | |
knife digital_ocean image list --global | grep "Ubuntu 12.04" | |
knife digital_ocean droplet create --server-name madison-sample-app --image 284203 --location 4 --size 66 --ssh-keys 10904 --solo --run-list "role[app]" | |
# Visit the IP address of the droplet. It's live! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment