我正在使用 Ansible 角色 DebOps wpcli:https://docs.debops.org/en/stable-3.1/ansible/roles/wpcli/index.html
错误是:
TASK [debops.debops.wpcli : Verify and install wp-cli binary] ******************
fatal: [webserver]: FAILED! => changed=true
cmd: set -o nounset -o pipefail -o errexit && gpg --batch --decrypt --output /usr/local/src/wpcli/wp-cli-2.5.0.phar /usr/local/src/wpcli/wp-cli-2.5.0.phar.gpg && ( install --mode 755 --owner root --group root /usr/local/src/wpcli/wp-cli-2.5.0.phar /usr/local/bin/wp && install --mode 644 --owner root --group root /usr/local/src/wpcli/wp-cli-2.5.0.completion.bash /etc/bash_completion.d/wp-completion ) || ( rm -f /usr/local/src/wpcli/wp-cli-2.5.0.phar && exit 2 )
delta: '0:00:00.092231'
end: '2024-09-05 06:45:25.499750'
msg: non-zero return code
rc: 2
start: '2024-09-05 06:45:25.407519'
stderr: |-
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
gpg: Signature made Wed May 19 15:24:41 2021 UTC
gpg: using RSA key 63AF7AA15067C05616FDDD88A3A2E8F226F0BC06
gpg: issuer "[email protected]"
gpg: Can't check signature: No public key
stderr_lines: <omitted>
stdout: ''
stdout_lines: <omitted>
我已经知道如何使用普通的 Bash shell 修复此问题:无法检查签名:未找到公钥 我不想用 shell 命令来修复它。不使用 Ansible 的答案将被否决。
我的问题是:如何使用 Ansible 并且仅使用 Ansible 而仅使用 Ansible 来修复此错误?如果可以通过现有的 DebOps 角色来完成就更好了。
通过使用
apt_key module
模块。
- name: apt key
ansible.builtin.get_url:
url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x63af7aa15067c05616fddd88a3a2e8f226f0bc06
dest: /etc/apt/keyrings/myrepo.asc
或
- name: Add an apt key by id from a keyserver
ansible.builtin.apt_key:
keyserver: keyserver.ubuntu.com
id: 0x63af7aa15067c05616fddd88a3a2e8f226f0bc06