├── tests ├── inventory ├── ansible.cfg └── test.yml ├── vars └── main.yml ├── handlers └── main.yml ├── templates ├── runReport.sh.j2 ├── mysql-ds.xml.j2 └── run.conf.j2 ├── meta └── main.yml ├── defaults └── main.yml ├── .travis.yml ├── README.md └── tasks └── main.yml /tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /tests/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | roles_path = ../ 3 | -------------------------------------------------------------------------------- /vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for ansible-role-jboss 3 | -------------------------------------------------------------------------------- /handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for ansible-role-jboss 3 | -------------------------------------------------------------------------------- /templates/runReport.sh.j2: -------------------------------------------------------------------------------- 1 | nohup {{ jboss_location }}/{{ jboss_packages }}/bin/run.sh -b {{ ansible_default_ipv4.address }} -c default -Djboss.service.binding.set=ports-report >>/dev/null 2>&1 & 2 | -------------------------------------------------------------------------------- /tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install Jboss. 3 | hosts: localhost 4 | remote_user: root 5 | roles: 6 | - role: ansible-role-jboss 7 | jboss_location: "/opt" 8 | jboss_db_user: "jboss" 9 | jboss_db_password: "jboss" 10 | jboss_db_url: "jdbc:mysql://127.0.0.1:3306/jboss" 11 | -------------------------------------------------------------------------------- /meta/main.yml: -------------------------------------------------------------------------------- 1 | galaxy_info: 2 | author: z 3 | description: An Ansible Role that installs jboss on RedHat/CentOS 4 | company: 5 | license: license (BSD, MIT) 6 | min_ansible_version: 2.0 7 | platforms: 8 | - name: EL 9 | versions: 10 | - 7 11 | galaxy_tags: 12 | - web 13 | dependencies: [] 14 | -------------------------------------------------------------------------------- /defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for ansible-role-jboss 3 | 4 | jboss_dependencies: 5 | - java-1.6.0-openjdk 6 | - unzip 7 | 8 | jboss_src_url : "http://127.0.0.1" 9 | jboss_location: "/opt" 10 | 11 | jboss_packages: "jboss-6.1.0.Final" 12 | 13 | jboss_java_home: "/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/" 14 | jboss_db_user: "jboos" 15 | jboss_db_password: "jboss" 16 | jboss_db_url: "jdbc:mysql://127.0.0.1:3306/jboss" 17 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Role Name: Jboss 2 | 3 | An Ansible Role that installs Jboss on RedHat/CentOS. 4 | 5 | ## Requirements 6 | 7 | ## Role Variables 8 | 9 | ### `defaults/main.yml` 10 | 11 | * `jboss_dependencies:` 12 | 13 | - java-1.6.0-openjdk 14 | - unzip 15 | * `jboss_src_url : "http://127.0.0.1"` 16 | * `jboss_location: "/opt"` 17 | * `jboss_packages: "jboss-6.1.0.Final"` 18 | * `jboss_java_home: "/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/"` 19 | * `jboss_db_user: "jboos"` 20 | * `jboss_db_password: "jboss"` 21 | * `jboss_db_url: "jdbc:mysql://127.0.0.1:3306/jboss"` 22 | 23 | ## Dependencies 24 | 25 | None. 26 | 27 | ## Example Playbook 28 | 29 | Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: 30 | 31 | - name: Install Jboss. 32 | hosts: servers 33 | remote_user: root 34 | roles: 35 | - role: ansible-role-jboss 36 | 37 | ## Author Information 38 | 39 | z 40 | -------------------------------------------------------------------------------- /tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for ansible-role-jboss 3 | 4 | - name: Install jdk 5 | yum: 6 | name: "{{ item }}" 7 | state: installed 8 | with_items: 9 | - "{{ jboss_dependencies }}" 10 | 11 | - name: Get Jboss package. 12 | get_url: 13 | url: "{{ jboss_src_url }}/{{ jboss_packages }}.tar.gz" 14 | dest: "{{ jboss_location }}/{{ jboss_packages }}.tar.gz" 15 | 16 | - name: Install && unzip Jboss. 17 | shell: | 18 | cd "{{ jboss_location }}" 19 | tar zxvf "{{ jboss_packages }}.tar.gz" 20 | 21 | - name: Configure jboss(1). 22 | template: 23 | src: runReport.sh.j2 24 | dest: "{{ jboss_location }}/{{ jboss_packages}}/bin/runReport.sh" 25 | 26 | - name: Configure jboss(2). 27 | template: 28 | src: run.conf.j2 29 | dest: "{{ jboss_location }}/{{ jboss_packages}}/bin/run.conf" 30 | 31 | - name: Configure jboss(3). 32 | template: 33 | src: mysql-ds.xml.j2 34 | dest: "{{ jboss_location }}/{{ jboss_packages}}/server/default/deploy/mysql-ds.xml" 35 | -------------------------------------------------------------------------------- /templates/mysql-ds.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | jdbc_report 12 | {{ jboss_db_url }} 13 | com.mysql.jdbc.Driver 14 | {{ jboss_db_user }} 15 | {{ jboss_db_password }}? 16 | org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter 17 | 20 | 23 | 26 | 27 | 28 | 29 | mySQL 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /templates/run.conf.j2: -------------------------------------------------------------------------------- 1 | ## -*- shell-script -*- ###################################################### 2 | ## ## 3 | ## JBoss Bootstrap Script Configuration ## 4 | ## ## 5 | ############################################################################## 6 | 7 | ### $Id: run.conf 104349 2010-04-29 21:58:52Z bstansberry@jboss.com $ 8 | 9 | # 10 | # This file is optional; it may be removed if not needed. 11 | # 12 | 13 | # 14 | # Specify the maximum file descriptor limit, use "max" or "maximum" to use 15 | # the default, as queried by the system. 16 | # 17 | # Defaults to "maximum" 18 | # 19 | #MAX_FD="maximum" 20 | 21 | # 22 | # Specify the profiler configuration file to load. 23 | # 24 | # Default is to not load profiler configuration file. 25 | # 26 | #PROFILER="" 27 | 28 | # 29 | # Specify the location of the Java home directory. If set then $JAVA will 30 | # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java". 31 | # 32 | JAVA_HOME="{{ jboss_java_home }}" 33 | 34 | # 35 | # Specify the exact Java VM executable to use. 36 | # 37 | JAVA="$JAVA_HOME/bin/java" 38 | 39 | # 40 | # Specify options to pass to the Java VM. 41 | # 42 | if [ "x$JAVA_OPTS" = "x" ]; then 43 | JAVA_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000" 44 | fi 45 | 46 | # Sample JPDA settings for remote socket debuging 47 | #JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" 48 | 49 | # Sample JPDA settings for shared memory debugging 50 | #JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_shmem,server=y,suspend=n,address=jboss" 51 | --------------------------------------------------------------------------------