-
-
Notifications
You must be signed in to change notification settings - Fork 102
/
main.yml
95 lines (92 loc) · 3.8 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
---
########################################
# AdoptOpenJDK - Ansible Playbook for: #
# -------- Windows 7, 8, 10 --------- #
# - Windows Server 2008, 2012 - #
########################################
################
# Please Note: #
################
# *** This playbook assumes that the Windows client machine has been configure to allow Ansible to run on it (WINRM)***
# Ensure you have opened Internet Explorer and completed the setup (other wise wget will not work)
# Run powershell as the Administrator
# If setting up a win2012r2 machine, run '[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12' See: https://github.com/adoptium/infrastructure/issues/1858
# wget https://raw.githubusercontent.com/ansible/ansible-documentation/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 -OutFile .\ConfigureRemotingForAnsible.ps1
# .\ConfigureRemotingForAnsible.ps1 -CertValidityDays 9999
# .\ConfigureRemotingForAnsible.ps1 -EnableCredSSP
# .\ConfigureRemotingForAnsible.ps1 -ForceNewSSLCert
# .\ConfigureRemotingForAnsible.ps1 -SkipNetworkProfileCheck
# Groups can be passed in as a command-line variable in Ansible playbook.
# It can be defined as 'all' or a specific group which the host belongs to.
# For example, it can be 'all' or 'x86' for when a host is in the group 'x86'.
- name: Ansible Windows playbook
hosts: "{{ Groups | default('build*win*:test*win*') }}"
gather_facts: yes
tasks:
- name: Load Standard Variables
block:
# Set standard variables
- name: Load AdoptOpenJDKs variable file
include_vars: group_vars/all/adoptopenjdk_variables.yml
#########
# Roles #
#########
roles:
- role: logs
position: "Start"
tags: always
- Debug
- role: Get_Vendor_Files
tags: [vendor_files, adoptopenjdk, jenkins]
- Version
- Common
- Windows_Updates
- WMF_5.1
- role: Jenkins # AdoptOpenJDK infrastructure
tags: [jenkins, adoptopenjdk]
- CodesignCert
- 7-Zip # Mostly extracting other prereqs :-)
- cygwin
- Strawberry_Perl # Testing
# - Freemarker # OpenJ9"
- GIT
- Java7 # JDK8 build bootstrap
- Java8 # JDK9 build bootstrap/ For Gradle
- role: Java_install # JDK11 build bootstrap
jdk_version: 10
- role: Java_install # For Gradle
jdk_version: 11
- role: Java_install # Latest LTS, for use by agents
jdk_version: 16
- role: Java_install # Latest LTS, for use by agents
jdk_version: 17
- role: Java_install # Bootstrap for JDK21
jdk_version: 20
- role: Java_install # Latest LTS, for use by agents
jdk_version: 21
- ANT # Testing
- role: MSVS_2013
when: ansible_architecture == "64-bit"
- role: MSVS_2017 # OpenJ9
when: ansible_architecture == "64-bit"
- role: MSVS_2019 # OpenJ9
tags: MSVS_2019
- role: MSVS_2022
tags: MSVS_2022
- NVidia_Cuda_Toolkit # OpenJ9
- NTP_TIME
- Clang_64bit # OpenJ9
- Clang_32bit # OpenJ9
- nasm # OpenJ9
- Rust # IcedTea-Web
- IcedTea-Web # For Jenkins webstart
- WiX # For creating installers
- NSClient # Required For Nagios Monitoring
- shortNames
- Dragonwell # Dragonwell bootstrap image
- role: Jenkins_Service_Installation # Automate installing the jenkins service
tags: [jenkins, adoptopenjdk]
when: jenkins_secret is defined # Only run if jenkins_secret is defined
- role: logs
position: "End"
tags: always