This is a bit old (jdk8, tomcat8) and has a few assumptions which might not 
be true for your environment (the jdk and tomcat installers are kept on a 
web server refered to as {{build_server}}.  Its two roles one for the jdk 
and one for tomcat.

Definitely some things could be improved - likely you don't need a jdk, 
only a JRE for a start.  The service restart might not be correct and might 
be better as a handler anyway.

Hopefully this is enough to get you started though.

Jon

$:~/roles/win-jdk$ tree -A
.
├── defaults
│   └── main.yml
└── tasks
    └── main.yml

2 directories, 2 files
$:~/roles/win-jdk$ cat defaults/main.yml
---
java_major_version: 8
java_minor_version: 73
java_product_id: "{64A3A4F4-B792-11D6-A78A-00B0D0180730}"
$:~/roles/win-jdk$ cat tasks/main.yml
---
# file: roles/win-jdk/tasks/main.yml
# only assumes win-fft-folders role applied to server
# this role adds java to a server.  Intended to replace win-fft-java role
# Currently intended to supply the same java version for use by all FFT 
services.

# see ../defaults/main.yml for the default versions used
# the defaults can be overriden by setting vars in the playbook, inventory 
or groups

- name: fetch java if needed
  win_get_url: url="{{ build_server }}jdk-{{ java_major_version }}u{{ 
java_minor_version }}-windows-x64.exe" dest="{{ win_deploy_dir }}jdk-{{ 
java_major_version }}u{{ java_minor_version }}-windows-x64.exe" force=no

- name: ensure java installed
  win_package:
    name: "Java SE Development Kit {{ java_major_version }} Update {{ 
java_minor_version }} (64-bit)"
    path: "{{ win_deploy_dir }}jdk-{{ java_major_version }}u{{ 
java_minor_version }}-windows-x64.exe"
    product_id: "{{ java_product_id }}"
    state: present
    arguments: INSTALL_SILENT=1 AUTO_UPDATE=0 WEB_JAVA=0 WEB_ANALYTICS=0 /s 
/L C:\deployment\log\java-installation.log
# added install options based on options here: 
http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#table_config_file_options


win-tomcat8$ cat defaults/main.yml
---
tomcat_home: C:\Tomcat8
tomcat_installer: apache-tomcat-8.0.35.exe

$:~roles/win-tomcat8$ cat tasks/main.yml
---
# file: roles/win-tomcat8/tasks/main.yml
# this role adds tomcat 8 if not present
# It also removes default webapps from the installed tomcat 8
# tomcat_home is now picked up from ../defaults/main.yml

- name: fetch tomcat
  win_get_url: url="{{ build_server }}{{ item }}" dest="{{ win_deploy_dir 
}}{{ item }}" force=no
  with_items:
     - "{{tomcat_installer }}"

- name: check for existence of latest tomcat
  win_stat:
    path: "{{ tomcat_home }}"
  register: current_tomcat
  
  - name: install tomcat if needed
  win_shell: '{{ win_deploy_dir }}{{ tomcat_installer }} /S /D={{ 
tomcat_home }}'
  when: current_tomcat.stat.exists == false

- name: remove unwanted webapps ROOT manager docs from tomcat
  win_file: 'state=absent path={{ tomcat_home }}\webapps\{{item}}'
  with_items:
    - ROOT
    - manager
    - docs

- name: set tomcat parameters for startup
  win_shell: '{{ tomcat_home }}\bin\tomcat8.exe update --Startup=auto 
--JvmMs=2000 --JvmMx=2000 --JvmOptions="-Dcatalina.home={{ tomcat_home 
}}\;-Dcatalina.base={{ tomcat_home }}\;-Djava.endorsed.dirs={{ tomcat_home 
}}\endorsed;-Djava.io.tmpdir={{ tomcat_home 
}}\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file={{
 
tomcat_home 
}}\conf\logging.properties;-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n;-Xms1500M;-Xmx1500M;"
  
- name: restart tomcat service
  win_service:
    name: 'Tomcat 8'
    start_mode: auto
    state: restarted





On Thursday, November 16, 2017 at 2:46:05 PM UTC, akazi...@gmail.com wrote:
>
> Hello,
>
> I am kind of new to ansible. I did my first steps and got the ping from my 
> control server to a windows machine up and working. So far so good.
> Now I need to install Tomcat from scratch and add later on some patches. I 
> was in the hope to find some example roles on ansible-galaxy but there are 
> non for Tomcat on  Windows.
> So here is my question, does any one know w source for such a role which I 
> can use as a base to develop upon? 
>
> Thank you very much
> Michael
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/609bcad2-c18f-40c9-bc66-bc75fb5cd3f0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to