Ansible est utile pour automatiser la construction de serveurs, mais il y a quelques points difficiles lorsque vous essayez d'installer un JDK. Il n'y avait pas beaucoup d'informations en japonais sur la façon de le résoudre, je vais donc le résumer brièvement.
Comme vous pouvez le voir sur l'écran de téléchargement, vous devez accepter la licence pour télécharger le JDK.
Avec Ansible, vous pouvez facilement télécharger le middleware en utilisant les modules yum
et get_url
, mais avec le JDK, vous ne pouvez pas le télécharger directement. Vous pouvez contourner ce problème en indiquant au cookie qu'il est sous licence.
Les cookies peuvent être définis dans l'option headers
du module get_url
.
headers: "Cookie:' gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie'"
De plus, les téléchargements Java sont effectués via SSL, vous devez donc surmonter les problèmes de certificat.
Le module get_url
a une option appelée validate_certs
, qui peut être évitée en définissant no
ici (c'est une option qui ignore littéralement l'authentification, donc ne l'utilisez que pour les sites de confiance. ).
validate_certs: no
Vous pouvez télécharger Java avec le script suivant.
- name: download JDK
get_url:
url: "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm"
dest: "/opt/jdk-8u144-linux-x64.rpm"
headers: "Cookie:' gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie'"
validate_certs: no
owner: root
group: root
mode: 744
- name: install JDK from a local file
yum:
name: "/opt/jdk-8u144-linux-x64.rpm"
state: present
Recommended Posts