Обновите php с Ansible (php7 .1 до php7 .4) - PullRequest
0 голосов
/ 20 марта 2020

Я SysOps во французских компаниях, я хочу написать скрипт для обновления php с Ansible, но у меня ошибка, и я не нашел решения, я установил apt-transport -https, во всех машинах. Ansible был установлен в debian9, и машина была также в debian9.

Мой сценарий


- hosts: all
  sudo: yes
  tasks:
    - apt_repository:
        repo: 'ppa:ondrej/php'
        state: present

    - name: Download the signing key
      shell: wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
      when: ansible_os_family == 'Debian'

    - name: Add the packages in sources lists
      shell: sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
      when: ansible_os_family == 'Debian'

    - name: Update packages
      become: true
      apt:
        update_cache=yes
      when: ansible_os_family == 'Debian'

    - name: Install php
      shell: apt install php7.4 php7.4-common php7.4-cli
      when: ansible_os_family == 'Debian'

    - name: Install extensions
      shell: apt install php7.4-curl php7.4-json php7.4-gd php7.4-mbstring php7.4-intl php7.4-bcmath php7.4-bz2 php7.4-readline php7.4-zip
      when: ansible_os_family == 'Debian'

    - name: Purge php
      shell: apt purge php7.1 libapache2-mod-php7.1
      when: ansible_os_family == 'Debian'

    - name: Check the new version of php
      shell: php -v
      when: ansible_os_family == 'Debian'

и ошибка:

TASK [Обновление пакетов] ************************************************** ************************************************** ************************************************** ************************************************** ************** фатально: [192.168.11.138]: СБОЙ! => {"updated": false, "msg": "Не удалось обновить кэш apt: E: репозиторий 'http://ppa.launchpad.net/ondrej/php/ubuntu растягивать выпуск' не имеет файла выпуска."} Неустранимый: [192.168 .11.137]: СБОЙ! => {"updated": false, "msg": "Не удалось обновить кэш apt: E: репозиторий 'http://ppa.launchpad.net/ondrej/php/ubuntu растягивать выпуск' не имеет файла выпуска."} Фатальный: [192.168 .11.142]: СБОЙ! => {"updated": false, "msg": "Не удалось обновить кэш apt: E: репозиторий 'http://ppa.launchpad.net/ondrej/php/ubuntu растягивать выпуск' не имеет файла выпуска."}, чтобы повторить попытку, используйте : --limit @ / etc / ansible / playbooks / upgrade- php .retry

Спасибо за любую помощь: D

1 Ответ

0 голосов
/ 20 марта 2020

Вы указали на Ubuntu ppa, но дистрибутив Ubuntu не назван stretch: http://ppa.launchpad.net/ondrej/php/ubuntu/dists/

Однако следующие две строки, которые указывают https://packages.sury.org/php/dists/ apt репозиторий, похоже, предназначен для дистрибутивов Debian c и содержит stretch релиз

Так что я считаю, что это смесь того, что сказал Мартин и это предложение : либо удалите задачу apt_repository:, если все ваши машины на самом деле являются Debian, либо защитите эту задачу с помощью when:, который оценивается как true только для ваших машин с Ubuntu

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...