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