You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2014/07/28 16:17:40 UTC

[3/4] git commit: Adds Vagrant.

Adds Vagrant.


Project: http://git-wip-us.apache.org/repos/asf/rave/repo
Commit: http://git-wip-us.apache.org/repos/asf/rave/commit/aab1719e
Tree: http://git-wip-us.apache.org/repos/asf/rave/tree/aab1719e
Diff: http://git-wip-us.apache.org/repos/asf/rave/diff/aab1719e

Branch: refs/heads/angular
Commit: aab1719e577b18af822fa10cb760040e9c9e1d53
Parents: b7cd8de
Author: Jmeas <je...@gmail.com>
Authored: Tue Jul 22 09:25:11 2014 -0400
Committer: Jmeas <je...@gmail.com>
Committed: Tue Jul 22 11:59:42 2014 -0400

----------------------------------------------------------------------
 .gitignore                                      |  1 +
 README.txt                                      | 32 +++++----------
 Vagrantfile                                     | 33 ++++++++++++++++
 deploy/ansible/rave-local-playbook.yml          | 10 +++++
 deploy/ansible/roles/maven/tasks/main.yml       | 41 ++++++++++++++++++++
 deploy/ansible/roles/maven/templates/maven.sh   |  8 ++++
 deploy/ansible/roles/maven/vars/main.yml        | 10 +++++
 .../ansible/roles/oracle-java7/tasks/main.yml   | 21 ++++++++++
 deploy/ansible/roles/oracle-java7/vars/main.yml |  3 ++
 9 files changed, 136 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 7ad6bbd..29010a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 .idea/
 overlays/
 target/
+.vagrant

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/README.txt
----------------------------------------------------------------------
diff --git a/README.txt b/README.txt
index 9550d84..acedf9e 100644
--- a/README.txt
+++ b/README.txt
@@ -38,32 +38,18 @@ Building and running
 To build from source code:
 
   - Requirements:
-    Sources compilation require Java SE 6 or higher.
-    The project is built with Apache Maven 3+ (suggested is 3.0.3).
-    You need to download and install Maven 3 from: http://maven.apache.org/
+    Vagrant v1.6.3+, Ansible 1.6.5+
 
-  - The Rave project itself (this one) depends on the separate Rave Master project
-    which defines general and global settings for the whole of the Rave project,
-    independent of a specific release.
-    As its rave-master-pom is already published to the Apache Snapshots repository,
-    there is no need to check it out manually and build it locally yourself,
-    unless changes are needed on general and global level.
-    
-    If so needed, the Rave Master project can be checked out from:
-      http://svn.apache.org/repos/asf/rave/rave-master-pom/trunk rave-master-pom
+  - Install the `vagrant-hostsupdater` plugin by performing `vagrant plugin install vagrant-hostsupdater`.
+
+  - Add `192.168.13.37   localhost` to the top of your hosts file.
 
-    After check out, cd into rave-master-pom and invoke maven to install it using:
-      $mvn install
+  - To build the virtual machine, simply run `vagrant up`.
     
-  - To build the Rave project invoke maven in the root directory:
-      $mvn install
+  - To run Rave, ssh onto the Vagrantbox with the command `vagrant ssh`, then run the command:
+    `sudo mvn cargo:run -f /rave/rave-portal/pom.xml`
 
-To run a local Tomcat instance with rave-shindig and rave-portal deployed:
+  - Navigate to http://localhost:8080/ in a browser
 
-  - from the top-level rave directory, use the command
-      $mvn cargo:run -f rave-portal/pom.xml
-  - alternatively, navigate to the rave-portal subdirectory and invoke:
-      $mvn cargo:run
-  - open url http://localhost:8080/ in a browser
-  - press Ctrl-C in the console to stop Tomcat again
+  - press Ctrl-C from within the Vagrant box to stop the app
 --------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/Vagrantfile
----------------------------------------------------------------------
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000..8d36732
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,33 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# Pathing variables
+vagrant_dir = File.expand_path(File.dirname(__FILE__))
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+
+  config.vm.provider :virtualbox do |v|
+    v.customize ["modifyvm", :id, "--memory", 1024]
+  end
+
+  config.ssh.forward_agent = true
+  config.vm.hostname = "rave.dev"
+  config.vm.network :private_network, ip: "192.168.13.37"
+  config.vm.box = "hashicorp/precise64"
+
+  # load the project into the Vagrant
+  config.vm.synced_folder vagrant_dir, "/rave/", :mount_options => [ "dmode=775", "fmode=774" ]
+
+  if defined? VagrantPlugins::HostsUpdater
+    config.hostsupdater.aliases = ["rave.dev"]
+  end
+
+  # Provision
+  config.vm.provision "ansible" do |ansible|
+    ansible.playbook = "deploy/ansible/rave-local-playbook.yml"
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/deploy/ansible/rave-local-playbook.yml
----------------------------------------------------------------------
diff --git a/deploy/ansible/rave-local-playbook.yml b/deploy/ansible/rave-local-playbook.yml
new file mode 100644
index 0000000..97b47ed
--- /dev/null
+++ b/deploy/ansible/rave-local-playbook.yml
@@ -0,0 +1,10 @@
+---
+-
+  hosts: all
+  sudo: yes
+  vars:
+    app_base_path: "/rave/"
+    default_user: "rave"
+  roles:
+    - oracle-java7
+    - maven

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/deploy/ansible/roles/maven/tasks/main.yml
----------------------------------------------------------------------
diff --git a/deploy/ansible/roles/maven/tasks/main.yml b/deploy/ansible/roles/maven/tasks/main.yml
new file mode 100644
index 0000000..083a759
--- /dev/null
+++ b/deploy/ansible/roles/maven/tasks/main.yml
@@ -0,0 +1,41 @@
+# install maven
+- name: Check whether or not maven is currently installed
+  shell: "[ -d {{ maven_install_dir }}/{{ maven_extracted_dirname }} ] && echo 'Found' || echo ''"
+  register: mvn_installed
+  changed_when: mvn_installed.stdout == ""
+  tags: maven
+
+- name: Create a maven directory
+  file: path={{ maven_install_dir }} owner=root group=root mode=0775 state=directory
+  when: (not mvn_installed.stdout)
+  tags: maven
+
+- name: Download maven
+  get_url: dest={{ maven_install_dir }}/{{ maven_download_filename }} url={{ maven_download_url }}
+  when: (not mvn_installed.stdout)
+  tags: maven
+
+- name: Extract maven archive file
+  command: creates={{ maven_install_dir }}/{{ maven_extracted_dirname }} chdir={{ maven_install_dir }} tar zxvf {{ maven_install_dir }}/{{ maven_download_filename }} --owner=root
+  when: (not mvn_installed.stdout)
+  tags: maven
+
+- name: Create a maven latest symlink
+  file: src={{ maven_install_dir }}/{{ maven_extracted_dirname }} dest={{ maven_install_dir }}/latest owner=root group=root state=link
+  when: (not mvn_installed.stdout)
+  tags: maven
+
+- name: Copy config maven.sh
+  action: template src=maven.sh dest=/etc/profile.d/maven.sh owner=root group=root mode=0644
+  when: (not mvn_installed.stdout)
+  tags: maven
+
+- name: Cleanup maven archive file
+  file: path={{ maven_install_dir }}/{{ maven_download_filename }} state=absent
+  when: (not mvn_installed.stdout)
+  tags: maven
+
+- name: Install maven dependencies for apache rave
+  command: /usr/local/maven/latest/bin/mvn -DskipTests=true -DskipIntegrationTests=true clean install chdir={{ maven_rave_dir }} creates={{ maven_rave_dir }}/target
+  sudo: yes
+  tags: maven

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/deploy/ansible/roles/maven/templates/maven.sh
----------------------------------------------------------------------
diff --git a/deploy/ansible/roles/maven/templates/maven.sh b/deploy/ansible/roles/maven/templates/maven.sh
new file mode 100644
index 0000000..354221e
--- /dev/null
+++ b/deploy/ansible/roles/maven/templates/maven.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+# {{ ansible_managed }}
+
+export M3_HOME={{ maven_install_dir }}/latest
+export M3=$M3_HOME/bin
+export MAVEN_OPTS="-Xms{{ maven_min_memory }} -Xmx{{ maven_max_memory }}"
+export PATH=$M3:$PATH
+~
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/deploy/ansible/roles/maven/vars/main.yml
----------------------------------------------------------------------
diff --git a/deploy/ansible/roles/maven/vars/main.yml b/deploy/ansible/roles/maven/vars/main.yml
new file mode 100644
index 0000000..44d272c
--- /dev/null
+++ b/deploy/ansible/roles/maven/vars/main.yml
@@ -0,0 +1,10 @@
+maven_version: 3.1.1
+maven_min_memory: 256m
+maven_max_memory: 512m
+maven_install_dir: /usr/local/maven
+maven_rave_dir: /rave
+maven_major_version: 3
+maven_base_download_url: "http://apache.mirrors.tds.net/maven/maven-{{ maven_major_version }}/{{ maven_version }}/binaries/"
+maven_extracted_dirname: "apache-maven-{{ maven_version }}"
+maven_download_filename: "apache-maven-{{ maven_version }}-bin.tar.gz"
+maven_download_url: "{{ maven_base_download_url }}/{{ maven_download_filename }}"

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/deploy/ansible/roles/oracle-java7/tasks/main.yml
----------------------------------------------------------------------
diff --git a/deploy/ansible/roles/oracle-java7/tasks/main.yml b/deploy/ansible/roles/oracle-java7/tasks/main.yml
new file mode 100644
index 0000000..64d7b16
--- /dev/null
+++ b/deploy/ansible/roles/oracle-java7/tasks/main.yml
@@ -0,0 +1,21 @@
+- name: Check whether or not oracle-java7 is currently installed
+  shell: "[ -d /usr/lib/jvm/java-7-oracle ] && echo 'Found' || echo ''"
+  register: oracle_java_installed
+  changed_when: oracle_java_installed.stdout == ""
+  tags: oracle-java7
+
+- name: Add oracle java repository
+  apt_repository: repo="ppa:webupd8team/java" update_cache=yes
+  when: (not oracle_java_installed.stdout)
+  tags: oracle-java7
+
+- name: Accept the oracle license
+  debconf: name="oracle-java7-installer" question='shared/accepted-oracle-license-v1-1' value='true' vtype='select'
+  when: (not oracle_java_installed.stdout)
+  tags: oracle-java7
+
+- name: Install packages
+  apt: name={{item}} state=present update_cache=yes
+  with_items: oracle_packages
+  when: (not oracle_java_installed.stdout)
+  tags: oracle-java7
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/rave/blob/aab1719e/deploy/ansible/roles/oracle-java7/vars/main.yml
----------------------------------------------------------------------
diff --git a/deploy/ansible/roles/oracle-java7/vars/main.yml b/deploy/ansible/roles/oracle-java7/vars/main.yml
new file mode 100644
index 0000000..6093750
--- /dev/null
+++ b/deploy/ansible/roles/oracle-java7/vars/main.yml
@@ -0,0 +1,3 @@
+oracle_packages:
+    - oracle-java7-installer
+    - oracle-java7-set-default
\ No newline at end of file