46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
---
|
|
- name: Update all servers (FreeBSD, Debian)
|
|
hosts: all
|
|
become: yes
|
|
gather_facts: yes
|
|
|
|
tasks:
|
|
|
|
##################################################
|
|
# Debian / Ubuntu
|
|
##################################################
|
|
- name: Update package cache (Debian/Ubuntu)
|
|
apt:
|
|
update_cache: yes
|
|
when: ansible_facts['os_family'] == "Debian"
|
|
|
|
- name: Upgrade all packages (Debian/Ubuntu)
|
|
apt:
|
|
upgrade: dist
|
|
register: debian_update
|
|
when: ansible_facts['os_family'] == "Debian"
|
|
|
|
- name: Reboot Debian only if packages changed
|
|
reboot:
|
|
when:
|
|
- ansible_facts['os_family'] == "Debian"
|
|
- debian_update is defined
|
|
- debian_update.changed
|
|
|
|
##################################################
|
|
# FreeBSD
|
|
##################################################
|
|
- name: Upgrade all packages and refresh repo cache (FreeBSD)
|
|
community.general.pkgng:
|
|
name: "*"
|
|
state: latest
|
|
register: freebsd_update
|
|
when: ansible_facts['os_family'] == "FreeBSD"
|
|
|
|
- name: Reboot FreeBSD only if packages changed
|
|
reboot:
|
|
when:
|
|
- ansible_facts['os_family'] == "FreeBSD"
|
|
- freebsd_update is defined
|
|
- freebsd_update.changed
|