https://github.com/voronenko/chef-developer_bootstrap
Helper for unattended installing of development environments (LAMP, Mean, Java) [DevOps, Chef, Vagrant]
https://github.com/voronenko/chef-developer_bootstrap
Last synced: 9 months ago
JSON representation
Helper for unattended installing of development environments (LAMP, Mean, Java) [DevOps, Chef, Vagrant]
- Host: GitHub
- URL: https://github.com/voronenko/chef-developer_bootstrap
- Owner: Voronenko
- Created: 2013-12-09T06:59:49.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2015-04-03T19:00:34.000Z (almost 11 years ago)
- Last Synced: 2025-04-15T01:49:37.728Z (9 months ago)
- Language: Shell
- Homepage:
- Size: 287 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Summary
Bootstrap project used to setup environments during my R&D activities and 'pet' projects
## OS
I usually use ubuntu neither 12.04.3 LTS (Precise Pangolin), Ubuntu 12.10 (Quantal Quetzal).
I am also adapting 13.10 (Saucy Salamander), but it still has some incompatibilities on packages.
## Usage scenario
* Configure development boxes on your ESX server
* Configure development boxes with Vagrant on your virtual box
* Configure your bare metal development workstation
## Software installed
### Standalone usage
Once you cloned repository on a target box, run init.sh;
For ubuntu 13.10 recommended way is to run init_1310.sh
By default, it will install bootstrap software packages listed below:
- Git
- Ruby 1.9.3 (dev)
- OpsCode CHEF [https://wiki.opscode.com/display/chef/Home](https://wiki.opscode.com/display/chef/Home)
- Librarian-chef [https://github.com/applicationsonline/librarian-chef](https://github.com/applicationsonline/librarian-chef)
- Berkshelf (for Vagrant based provisioning) [http://berkshelf.com/](http://berkshelf.com/)
### Vagrant usage
Install Oracle VirtualBox [http://www.virtualbox.org/], Vagrant [http://vagrantup.com/],
* vagrant berkshelf plugin [vagrant plugin install vagrant-berkshelf]
* vagrant vbguest plugin [vagrant plugin install vagrant-vbguest]
Note: for Vagrant > 1.5.3 syntax for installing berkshelf plugin is different:
* vagrant plugin install vagrant-berkshelf --plugin-version '>= 2.0.1'
Windows: You also will need to have either tar in a path, or patch your ruby devkit with http://gnuwin32.sourceforge.net/packages/gtar.htm
*vagrant-berkshelf* is a Vagrant plugin to add Berkshelf integration to the Chef provisioners
*vagrant-vbguest* is a Vagrant plugin which automatically installs the host's VirtualBox Guest Additions on the guest system.
Clone developer bootstrap repository. Using *Vagrantfile* as an example choose necessary roles for your box. Use *vagrant* environment file to adjust your software settings and versions.
Use *vagrant up* to boot up the box.
Note: Vagrantfile is based on official Vagrant Ubuntu 12.04 Precise 32bit image. At present moment it has outdated ruby & chef version installed. By default during provision custom init_vagrant.sh script is executed. In a result, virtuaд server is upgraded with ruby 1.9.3 and more recent chef-solo version.
## Directories purpose
### cookbooks
Official cookbooks for widely used software
### cookbook-project
I use this directory to checkout cookbooks that are not available for the public, and are specifically related to project specific environment configuration
### databags
Directory contains optional project specific file artifacts for cookbooks.
### environments
Contains preferences to package versions, vendors and machine wide configuraiton for packages installed
### nodes
Contains instructions to configure predefined set of the software on specific workstation basing on it's role (lamp box, java box, big data box, MEAN box, etc.
### roles
Contains combination of recipes (roles) to configure workstation for predefined needs.
By default roles are:
- gui - installs set of handy tools, so that workstation can be used for GUI development
- sql - installs set of tools for efficient work with MySQL (Percona, MariaDB) box
- lamp_debug - configures workstation for lamp development
## How to use
Manual steps are:
*sudo chef-solo -c solo.rb -j nodes/nodename.json*
Vagrant steps are:
*vagrant up*
### Vagrant debugging configuration
Suggested recipe requires minimum configuration to run (PHPStorm)
* in project settings/server register vagrant server
(You can use some wildcard domain like PROJECT.lvh.me to map test domain name to vagrant box)
* in phpstorm set XDEBUG_SESSION_START variable (PHPSTORM or whatever)
* Put breakpoint, launch debugging session (for example using handy chrome helper [https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc]
## Read more
[http://docs.opscode.com/](http://docs.opscode.com/)
[http://docs.vagrantup.com/v2/] (http://docs.vagrantup.com/v2/)
#Linked projects: #
Interested in using developer box Chef recipes in your own cookbooks?
See [https://github.com/Voronenko/chef-developer_recipes](https://github.com/Voronenko/chef-developer_recipes)
Interested in building your devbox on top of Vagrant + vagrant-berkshelf plugin?
See [https://github.com/Voronenko/vagrant-wrap](https://github.com/Voronenko/vagrant-wrap)
Note: see following article about future of the vagrant-berkshelf plugin [https://sethvargo.com/the-future-of-vagrant-berkshelf/](https://sethvargo.com/the-future-of-vagrant-berkshelf/)
Interested in building your devbox on top of Vagrant + test-kitchen?
See [https://github.com/Voronenko/lamp-kitchen](https://github.com/Voronenko/lamp-kitchen)