These instructions assume familiarity with Git and GitHub. If you are not comfortable with those tools, please complete Udacity's How to Use Git and GitHub course before proceeding.
After installing the required tools, you will need to ensure that your computer can find the executables to run them. For this, you might need to modify the PATH environment variable. A good overview is at superuser.com. You may need to search the web for instructions on how to set the PATH variable for your specific operating system and version.
- Install VirtualBox
- Install Vagrant
- Install Packer
- Fork this repo to your own account
- Clone the forked repo to your local machine using this command:
git clone https://github.com/<account-name>/devops-intro-project devops
, replacing<account-name>
with your GitHub username.
From the packer-templates directory on your local machine:
- Run
packer build -only=virtualbox-iso application-server.json
. You may see various timeouts and errors, as shown below. If you do, retry the command until the ISO download succeeds:
read: operation timed out
==> virtualbox-iso: ISO download failed.
Build 'virtualbox-iso' errored: ISO download failed.
checksums didn't match expected
==> virtualbox-iso: ISO download failed.
Build 'virtualbox-iso' errored: ISO download failed.
==> Some builds didn't complete successfully and had errors:
--> virtualbox-iso: ISO download failed.
- Run
cd virtualbox
- Run
vagrant box add ubuntu-14.04.4-server-amd64-appserver_virtualbox.box --name devops-appserver
- Run
vagrant up
- Run
vagrant ssh
to connect to the server
- On your local machine go to the root directory of the cloned repository
- Run
git clone https://github.com/chef/devops-kungfu.git devops-kungfu
- Open http://localhost:8080 from your local machine to see the app running.
- In the VM, run
cd devops-kungfu
- To install app specific node packages, run
sudo npm install
. You may see several errors; they can be ignored for now. - Now you can run tests with the command
grunt -v
. The tests will run, then quit with an error.
If you encounter errors with Ubuntu version numbers not being available or checksum errors on Ubuntu,it means that this repository has not yet been updated for the latest Ubuntu version. Feel free to mention this in the forum. Meanwhile, you can fix this error for yourself by editing the contents of the application-server.json
and control-server.json
template files inside the packer-templates
folder.
- Find the newest version number and checksum from the Ubuntu website for this release
- Edit
PACKER_BOX_NAME
andiso_checksum
in the template files to match that version number and checksum.