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