如何在ansible中使用shell运行Java下载命令



我想下载并安装Java在我们的一个虚拟机使用Ansible。我尝试了yum,这是成功的,但作为要求的一部分,我被要求做另一种方式。

为此,我尝试了

- name: "[version-update] Download Java "
shell: 
args:
chdir: /opt/xcal/apps

要执行的命令是

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm

但是,当尝试这个编辑器显示错误。
我尝试用双引号包围这个命令,只是粘贴它,但两者都抛出错误。

我理解

"Cookie: oraclelicense=accept-securebackup-cookie"

这是引起问题的部分。是否有办法在命令中也包含这个?

使用shell模块的一种工作方法是

---
- hosts: test
become: false
gather_facts: false
tasks:
- name: Download Java
shell:
cmd: 'curl -x "localhost:3128" -O https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm'
chdir: "/home/{{ ansible_user }}"
warn: false
register: result
- name: Show result
debug:
msg: "{{ result }}"

另一个与get_url模块。

- name: Download Java
get_url:
url: "https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm"
dest: "/home/{{ ansible_user }}"
use_proxy: true
register: result
environment:
HTTP_PROXY: "localhost:3128"
HTTPS_PROXY: "localhost:3128"
- name: Show result
debug:
msg: "{{ result }}"

最新更新