Напишем сценарий для автоматического развертывания локального репозитария для предыдущей статьи:
Создаем свой репозиторий yum в локальной сети (CentOs, Red Hat)
---
# необходимо добавить секцию [repos] в инвентори файл
- hosts: repos
become: yes
tasks:
# создаем дерево каталогов
- name: Create directory tree
file: path="/u01/{{item}}" state=directory
with_items:
- rpms
# добавим репозиторий nginx
- file: path="/etc/yum.repos.d/{{item}}.repo" state=touch
with_items:
- nginx
- name: add admin repo
blockinfile:
dest: /etc/yum.repos.d/{{item.name}}.repo
block: |
[{{item.name}}]
name={{item.name}} repo
baseurl={{item.url}}
gpgcheck=0
enabled=1
with_items:
- { name: nginx, url: "http://nginx.org/packages/mainline/centos/7/x86_64" }
# установка необходимых приложений
- name: install apps
yum: pkg={{item}} state=latest update_cache=yes
with_items:
- createrepo
- nginx
- libselinux-python
- deltarpm
- python-deltarpm
- libxml2-python
# создаем конфиг файл nginx и настраиваем
- file: path=/etc/nginx/conf.d/default.conf state=absent
- file: path=/etc/nginx/conf.d/default.conf state=touch
- name: add nginx config
blockinfile:
dest: /etc/nginx/conf.d/default.conf
block: |
server {
listen 80;
server_name localhost;
root /u01;
location / {
index index.html index.htm;
}
location /rpms {
autoindex on;
}
}
# отключаем Selinux
- selinux: policy=targeted state=permissive
# запускаем демон nginx и добавляем в автозагрузку
- name: start nginx for repo
service: name=nginx state=restarted enabled=yes
# создаем индекс файл для пакетов rpm
- name: create repository
shell: createrepo /u01/rpms/
Комментариев нет:
Отправить комментарий