- Создана универсальная роль Python для установки Python 3.12 на всех ОС - Восстановлена роль Docker из git истории - Исправлены все ошибки линтера - Обновлен deploy.yml с правильным порядком ролей: devops → python → docker - Удалена устаревшая роль ping - Добавлена поддержка альтернативных репозиториев для старых ОС Автор: Сергей Антропов Сайт: https://devops.org.ru
475 lines
10 KiB
YAML
475 lines
10 KiB
YAML
---
|
||
# Переменные для роли python
|
||
# Автор: Сергей Антропов
|
||
# Сайт: https://devops.org.ru
|
||
|
||
# Определение семейства ОС и версии
|
||
python_os_family: "{{ ansible_os_family | lower }}"
|
||
python_distribution: "{{ ansible_distribution | lower }}"
|
||
python_distribution_version: "{{ ansible_distribution_version }}"
|
||
|
||
# Переменные для разных дистрибутивов
|
||
python_package_managers:
|
||
debian: "apt"
|
||
ubuntu: "apt"
|
||
redhat: "dnf"
|
||
centos: "dnf"
|
||
rhel: "dnf"
|
||
rocky: "dnf"
|
||
alma: "dnf"
|
||
fedora: "dnf"
|
||
suse: "zypper"
|
||
opensuse: "zypper"
|
||
alt: "apt-rpm"
|
||
"alt linux": "apt-rpm"
|
||
astra: "apt"
|
||
"astra linux": "apt"
|
||
|
||
# Пакеты для установки Python 3.12 в разных дистрибутивах
|
||
python_packages_by_os:
|
||
debian:
|
||
- python3.12
|
||
- python3.12-dev
|
||
- python3.12-venv
|
||
- python3.12-distutils
|
||
- python3.12-lib2to3
|
||
- python3.12-gdbm
|
||
- python3.12-tk
|
||
# Альтернативные пакеты для старых Debian
|
||
- python3.11
|
||
- python3.11-dev
|
||
- python3.11-venv
|
||
ubuntu:
|
||
- python3.12
|
||
- python3.12-dev
|
||
- python3.12-venv
|
||
- python3.12-distutils
|
||
- python3.12-lib2to3
|
||
- python3.12-gdbm
|
||
- python3.12-tk
|
||
# Альтернативные пакеты для старых Ubuntu
|
||
- python3.11
|
||
- python3.11-dev
|
||
- python3.11-venv
|
||
# Пакеты без версии для совместимости
|
||
- python3-distutils
|
||
- python3-lib2to3
|
||
redhat:
|
||
- python3.12
|
||
- python3.12-pip
|
||
- python3.12-devel
|
||
- python3.12-tkinter
|
||
centos:
|
||
- python3.12
|
||
- python3.12-pip
|
||
- python3.12-devel
|
||
- python3.12-tkinter
|
||
# Альтернативные пакеты для старых CentOS
|
||
- python312
|
||
- python312-pip
|
||
- python312-devel
|
||
# SCL пакеты для очень старых CentOS
|
||
- rh-python312
|
||
- rh-python312-python-pip
|
||
- rh-python312-python-devel
|
||
rhel:
|
||
- python3.12
|
||
- python3.12-pip
|
||
- python3.12-devel
|
||
- python3.12-tkinter
|
||
# Альтернативные пакеты для старых RHEL
|
||
- python312
|
||
- python312-pip
|
||
- python312-devel
|
||
# SCL пакеты для очень старых RHEL
|
||
- rh-python312
|
||
- rh-python312-python-pip
|
||
- rh-python312-python-devel
|
||
rocky:
|
||
- python3.12
|
||
- python3.12-pip
|
||
- python3.12-devel
|
||
- python3.12-tkinter
|
||
alma:
|
||
- python3.12
|
||
- python3.12-pip
|
||
- python3.12-devel
|
||
- python3.12-tkinter
|
||
fedora:
|
||
- python3.12
|
||
- python3.12-pip
|
||
- python3.12-devel
|
||
- python3.12-tkinter
|
||
suse:
|
||
- python312
|
||
- python312-devel
|
||
- python312-pip
|
||
opensuse:
|
||
- python312
|
||
- python312-devel
|
||
- python312-pip
|
||
alt:
|
||
- python3.12
|
||
- python3.12-devel
|
||
- python3.12-pip
|
||
astra:
|
||
- python3.12
|
||
- python3.12-dev
|
||
- python3.12-venv
|
||
- python3.12-distutils
|
||
- python3.12-lib2to3
|
||
- python3.12-gdbm
|
||
- python3.12-tk
|
||
"alt linux":
|
||
- python3.12
|
||
- python3.12-devel
|
||
- python3.12-pip
|
||
"astra linux":
|
||
- python3.12
|
||
- python3.12-dev
|
||
- python3.12-venv
|
||
- python3.12-distutils
|
||
- python3.12-lib2to3
|
||
- python3.12-gdbm
|
||
- python3.12-tk
|
||
|
||
# Репозитории для разных дистрибутивов
|
||
python_repositories:
|
||
debian:
|
||
- name: "deadsnakes"
|
||
url: "ppa:deadsnakes/ppa"
|
||
state: "present"
|
||
- name: "deadsnakes-debian"
|
||
url: "deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal main"
|
||
state: "present"
|
||
ubuntu:
|
||
- name: "deadsnakes"
|
||
url: "ppa:deadsnakes/ppa"
|
||
state: "present"
|
||
redhat:
|
||
- name: "epel"
|
||
state: "present"
|
||
- name: "ius"
|
||
url: "https://repo.ius.io/redhat/7/x86_64/"
|
||
state: "present"
|
||
centos:
|
||
- name: "epel"
|
||
state: "present"
|
||
- name: "ius"
|
||
url: "https://repo.ius.io/centos/7/x86_64/"
|
||
state: "present"
|
||
- name: "scl"
|
||
url: "https://www.softwarecollections.org/en/scls/rhscl/rh-python312/"
|
||
state: "present"
|
||
rhel:
|
||
- name: "epel"
|
||
state: "present"
|
||
- name: "ius"
|
||
url: "https://repo.ius.io/redhat/7/x86_64/"
|
||
state: "present"
|
||
- name: "scl"
|
||
url: "https://www.softwarecollections.org/en/scls/rhscl/rh-python312/"
|
||
state: "present"
|
||
rocky:
|
||
- name: "epel"
|
||
state: "present"
|
||
alma:
|
||
- name: "epel"
|
||
state: "present"
|
||
fedora:
|
||
- name: "epel"
|
||
state: "present"
|
||
|
||
# Команды для обновления пакетов
|
||
python_update_commands:
|
||
debian: "apt update"
|
||
ubuntu: "apt update"
|
||
redhat: "dnf update -y"
|
||
centos: "dnf update -y"
|
||
rhel: "dnf update -y"
|
||
rocky: "dnf update -y"
|
||
alma: "dnf update -y"
|
||
fedora: "dnf update -y"
|
||
suse: "zypper refresh"
|
||
opensuse: "zypper refresh"
|
||
alt: "apt-get update"
|
||
"alt linux": "apt-get update"
|
||
astra: "apt update"
|
||
"astra linux": "apt update"
|
||
|
||
# Команды для установки пакетов
|
||
python_install_commands:
|
||
debian: "apt install -y"
|
||
ubuntu: "apt install -y"
|
||
redhat: "dnf install -y"
|
||
centos: "dnf install -y"
|
||
rhel: "dnf install -y"
|
||
rocky: "dnf install -y"
|
||
alma: "dnf install -y"
|
||
fedora: "dnf install -y"
|
||
suse: "zypper install -y"
|
||
opensuse: "zypper install -y"
|
||
alt: "apt-get install -y"
|
||
"alt linux": "apt-get install -y"
|
||
astra: "apt install -y"
|
||
"astra linux": "apt install -y"
|
||
|
||
# Пути к исполняемым файлам Python
|
||
python_executable_paths:
|
||
debian: "/usr/bin/python3.12"
|
||
ubuntu: "/usr/bin/python3.12"
|
||
redhat: "/usr/bin/python3.12"
|
||
centos: "/usr/bin/python3.12"
|
||
rhel: "/usr/bin/python3.12"
|
||
rocky: "/usr/bin/python3.12"
|
||
alma: "/usr/bin/python3.12"
|
||
fedora: "/usr/bin/python3.12"
|
||
suse: "/usr/bin/python3.12"
|
||
opensuse: "/usr/bin/python3.12"
|
||
alt: "/usr/bin/python3.12"
|
||
"alt linux": "/usr/bin/python3.12"
|
||
astra: "/usr/bin/python3.12"
|
||
"astra linux": "/usr/bin/python3.12"
|
||
|
||
# Пути к pip
|
||
python_pip_paths:
|
||
debian: "/usr/bin/pip3.12"
|
||
ubuntu: "/usr/bin/pip3.12"
|
||
redhat: "/usr/bin/pip3.12"
|
||
centos: "/usr/bin/pip3.12"
|
||
rhel: "/usr/bin/pip3.12"
|
||
rocky: "/usr/bin/pip3.12"
|
||
alma: "/usr/bin/pip3.12"
|
||
fedora: "/usr/bin/pip3.12"
|
||
suse: "/usr/bin/pip3.12"
|
||
opensuse: "/usr/bin/pip3.12"
|
||
alt: "/usr/bin/pip3.12"
|
||
"alt linux": "/usr/bin/pip3.12"
|
||
astra: "/usr/bin/pip3.12"
|
||
"astra linux": "/usr/bin/pip3.12"
|
||
|
||
# Системные зависимости для компиляции
|
||
python_build_deps_by_os:
|
||
debian:
|
||
- build-essential
|
||
- zlib1g-dev
|
||
- libssl-dev
|
||
- libffi-dev
|
||
- libsqlite3-dev
|
||
- libreadline-dev
|
||
- libbz2-dev
|
||
- libncurses5-dev
|
||
- libncursesw5-dev
|
||
- xz-utils
|
||
- tk-dev
|
||
- libgdbm-dev
|
||
- libdb-dev
|
||
- libpcap-dev
|
||
- liblzma-dev
|
||
ubuntu:
|
||
- build-essential
|
||
- zlib1g-dev
|
||
- libssl-dev
|
||
- libffi-dev
|
||
- libsqlite3-dev
|
||
- libreadline-dev
|
||
- libbz2-dev
|
||
- libncurses5-dev
|
||
- libncursesw5-dev
|
||
- xz-utils
|
||
- tk-dev
|
||
- libgdbm-dev
|
||
- libdb-dev
|
||
- libpcap-dev
|
||
- liblzma-dev
|
||
redhat:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- db4-devel
|
||
- libpcap-devel
|
||
- expat-devel
|
||
- libnsl2-devel
|
||
centos:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
# Альтернативные пакеты для CentOS
|
||
- gdbm
|
||
- db4
|
||
rhel:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
rocky:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
alma:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
fedora:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
suse:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- libopenssl-devel
|
||
- libffi-devel
|
||
- sqlite3-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- libpcap-devel
|
||
- expat-devel
|
||
- libnsl2-devel
|
||
opensuse:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- libopenssl-devel
|
||
- libffi-devel
|
||
- sqlite3-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
alt:
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
astra:
|
||
- build-essential
|
||
- zlib1g-dev
|
||
- libssl-dev
|
||
- libffi-dev
|
||
- libsqlite3-dev
|
||
- libreadline-dev
|
||
- libbz2-dev
|
||
- libncurses5-dev
|
||
- libncursesw5-dev
|
||
- xz-utils
|
||
- tk-dev
|
||
- libgdbm-dev
|
||
- libdb-dev
|
||
- libpcap-dev
|
||
- liblzma-dev
|
||
"alt linux":
|
||
- gcc
|
||
- gcc-c++
|
||
- make
|
||
- zlib-devel
|
||
- openssl-devel
|
||
- libffi-devel
|
||
- sqlite-devel
|
||
- readline-devel
|
||
- bzip2-devel
|
||
- ncurses-devel
|
||
- xz-devel
|
||
- tk-devel
|
||
- gdbm-devel
|
||
- expat-devel
|
||
"astra linux":
|
||
- build-essential
|
||
- zlib1g-dev
|
||
- libssl-dev
|
||
- libffi-dev
|
||
- libsqlite3-dev
|
||
- libreadline-dev
|
||
- libbz2-dev
|
||
- libncurses5-dev
|
||
- libncursesw5-dev
|
||
- xz-utils
|
||
- tk-dev
|
||
- libgdbm-dev
|
||
- libdb-dev
|
||
- libpcap-dev
|
||
- liblzma-devel
|