feat: Добавлена роль Python 3.12 и восстановлена роль Docker
- Создана универсальная роль Python для установки Python 3.12 на всех ОС - Восстановлена роль Docker из git истории - Исправлены все ошибки линтера - Обновлен deploy.yml с правильным порядком ролей: devops → python → docker - Удалена устаревшая роль ping - Добавлена поддержка альтернативных репозиториев для старых ОС Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
474
roles/python/vars/main.yml
Normal file
474
roles/python/vars/main.yml
Normal file
@@ -0,0 +1,474 @@
|
||||
---
|
||||
# Переменные для роли 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
|
||||
Reference in New Issue
Block a user