Ansible-JavaJDK安装-绕过登录要求

Ansible-JavaJDK安装-绕过登录要求,java,automation,ansible,Java,Automation,Ansible,我们的一些内部系统使用较旧版本的Java,而且似乎有些版本(在本例中为8u72)强制用户在下载tarball之前登录。我们通常使用Ansible来自动化整个过程,但现在这被登录需求绊倒了。有没有人找到了解决办法,或者找到了可靠的镜子 谢谢 要下载它,您需要添加一个接受许可证的自定义HTTP头,下面是使用get\u url模块在Ansible中的外观 - name: Download JDK get_url: url: "{{ jdk_url }}.rpm" headers:

我们的一些内部系统使用较旧版本的Java,而且似乎有些版本(在本例中为8u72)强制用户在下载tarball之前登录。我们通常使用Ansible来自动化整个过程,但现在这被登录需求绊倒了。有没有人找到了解决办法,或者找到了可靠的镜子


谢谢

要下载它,您需要添加一个接受许可证的自定义HTTP头,下面是使用
get\u url
模块在Ansible中的外观

- name: Download JDK
  get_url:
    url: "{{ jdk_url }}.rpm"
    headers: 'Cookie:oraclelicense=accept-securebackup-cookie'
    dest: "/tmp/{{ jdk_pkg }}.rpm"

更多信息请点击此处:

已找到此解决方案,如果它能帮助您的话

 - name: Create JAVA_HOME folder
    file: state=directory path={{global_vars.home_path}}/java owner=dev group=dev recurse=yes mode=0755

  - name: Download Java from url
    command: "wget -q -O {{global_vars.home_path}}/java/jdk-linux-x64.tar.gz --no-check-certificate --no-cookies --header 'Cookie: oraclelicense=accept-securebackup-cookie' {{global_vars.java_download_url}} creates={{global_vars.home_path}}/java/jdk-linux-x64.tar.gz"
    register: java_out
    when:

不幸的是,这只是许可证接受。这已经到位,在较新的版本中可以正常工作,但较旧的版本仍然要求在以后登录()。谢谢你!对@seanhillen,我也有过同样的经历。对于以前的/旧的/过时的版本(又名Java Archive下载),必须拥有Oracle帐户并登录。您可能会在世界各地的一些大学FTP服务器(.edu/.org)上找到可靠的镜像。为什么不下载所需的JDK rpm文件,并将其包含在playbook中,或者将其存储在网络中的公共Web服务器上,然后从那里下载?这是幂等的,您确切地知道安装了哪个RPM。另外,@Zlemini引用的链接在Oracle更改其服务器端的某些内容时有很多更新。