Repository: rave Updated Branches: refs/heads/master b7cd8deae -> aab1719e5
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/master Commit: aab1719e577b18af822fa10cb760040e9c9e1d53 Parents: b7cd8de Author: Jmeas <[email protected]> Authored: Tue Jul 22 09:25:11 2014 -0400 Committer: Jmeas <[email protected]> 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
