无法从ansible安装jenkins
我想自动安装jenkins,为此我使用ansible。 我正在尝试用它的repo和gpg密钥安装jenkins。这是我的剧本无法从ansible安装jenkins,jenkins,ansible,Jenkins,Ansible,我想自动安装jenkins,为此我使用ansible。 我正在尝试用它的repo和gpg密钥安装jenkins。这是我的剧本 --- - hosts: "{{ HOST }}" become: true become_user: root gather_facts: true become_method: sudo vars: temp_folder: /tmp tasks: - name: Include variables includ
---
- hosts: "{{ HOST }}"
become: true
become_user: root
gather_facts: true
become_method: sudo
vars:
temp_folder: /tmp
tasks:
- name: Include variables
include_vars:
dir: '../vars'
extensions: ['yml']
- name: Install java
yum:
name: java
state: present
update_cache: yes
become: true
become_user: root
- name: Add Jenkins Repository | Add Sources List
yum_repository:
name: jenkins
description: jenkins
baseurl: "{{ jenkins_repo }}"
gpgkey: "{{ jenkins_key }}"
gpgcheck: yes
become: true
become_user: root
- name: Install jenkins
yum:
name: jenkins
state: present
update_cache: yes
become_user : root
become: true
- name: Start Jenkins Service | Enable on Boot
service:
name: jenkins
state: started
enabled: yes
become: true
become_user: root
var文件中的值包含以下键:-
---
现在,当我执行playbook时,它会抛出以下错误
fatal: [atul-ec2]: FAILED! => {
"changed": false,
"failed": true,
"invocation": {
"module_args": {
"conf_file": null,
"disable_gpg_check": false,
"disablerepo": null,
"enablerepo": null,
"exclude": null,
"install_repoquery": true,
"installroot": "/",
"list": null,
"name": [
"jenkins"
],
"skip_broken": false,
"state": "present",
"update_cache": true,
"validate_certs": true
}
},
"msg": "Failure talking to yum: failure: repodata/repomd.xml from jenkins: [Errno 256] No more mirrors to try.\nhttps://pkg.jenkins.io/redhat/jenkins.repo/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found"
}
但是,当我试图手动添加jenkins repo时,它不会给我带来任何错误。参数
baseurl
应该包含一个指向包含包的URL和repodata
的值。您提供的值用于包含yum repo信息的文件。您需要从该文件中提取baseurl
,并将其用作值。在redhat示例中,您的值应为:
jenkins_repo: https://pkg.jenkins.io/redhat/
当在任务中的
yum\u repository
模块中使用jenkins\u repo
变量时,将使用该目录中包含的repodata/repomod.xml
正确配置repo。我知道这是一个相当老的线程
但是,作为一个公认的答案并不能真正解释为什么相关代码没有按预期工作,请在下面找到几个词
- yum\u repositoryansible模块根据提供的属性创建.repo文件/定义
- 问题中提供的jenkins_repo变量中的uri指向.repo文件/定义本身,因此在这种情况下使用yum_存储库是不合适的,如果希望使用使用此定义,则可以使用get_url模块
jenkins_repo: https://pkg.jenkins.io/redhat/