Utiliser Ansible pour automatiser l’installation du logiciel sur mon Mac


  • FrançaisFrançais


  • Sur la plupart des systèmes, il existe plusieurs façons d’installer un logiciel. Celui que vous utilisez dépend de la source de l’application que vous installez. Certains logiciels se présentent sous la forme d’un assistant téléchargeable pour vous guider tout au long du processus d’installation, tandis que d’autres sont des fichiers que vous téléchargez et exécutez immédiatement.

    Sur macOS, toute une bibliothèque d’applications open source est disponible à partir de commandes Unix comme Homebrew et MacPorts. L’avantage d’utiliser des commandes pour l’installation de logiciels est que vous pouvez les automatiser, et mon outil d’automatisation préféré est Ansible. Combiner Ansible avec Homebrew est un moyen efficace et reproductible d’installer vos applications open source préférées.

    Cet article montre comment installer l’un de mes outils d’écriture indispensables, Asciidoctor, sur macOS à l’aide d’Ansible. Asciidoctor est un traitement de texte open source, ce qui signifie qu’il prend du texte écrit dans un format spécifique (dans ce cas, Asciidoc) et le transforme en d’autres formats populaires (tels que HTML, PDF, etc.) pour la publication. Ansible est un outil d’automatisation open source, sans agent et facile à comprendre. En utilisant Ansible, vous pouvez simplifier et automatiser vos tâches quotidiennes.

    Remarque : bien que cet exemple utilise macOS, les informations s’appliquent à tous les types de logiciels open source sur toutes les plates-formes compatibles avec Ansible (y compris Linux, Windows, Mac et BSD).

    Installation d’Ansible

    Vous pouvez installer Ansible en utilisant pip, le gestionnaire de packages Python. Tout d’abord, installez pip:

    $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    $ python ./get-pip.py

    Ensuite, installez Ansible en utilisant pip:

    $ sudo python -m pip install --user ansible

    Installer Ansible avec Homebrew

    Vous pouvez également installer Ansible à l’aide du gestionnaire de packages Homebrew. Si vous avez déjà installé Ansible avec pipsautez cette étape car vous avez déjà obtenu le même résultat !

    $ brew install ansible

    Configuration d’Ansible

    Pour configurer Ansible, vous devez d’abord créer un fichier d’inventaire spécifiant le ou les ordinateurs sur lesquels vous souhaitez que votre script Ansible (appelé fichier livre de jeu) pour opérer.

    Créez un fichier d’inventaire dans un terminal ou à l’aide de votre éditeur de texte préféré. Dans un terminal, tapez ce qui suit en remplaçant your-host-name avec le nom de votre ordinateur :

    $ cat << EOF >> inventory
    [localhost\]
    your-host-name
    EOF

    Si vous ne connaissez pas le nom d’hôte de votre ordinateur, vous pouvez l’obtenir en utilisant le hostname commande. Sinon, allez dans le menu Apple, ouvrez Préférences de systèmepuis clique Partage. Le nom d’hôte de votre ordinateur se trouve sous le nom de l’ordinateur en haut de Partage volet de préférences.

    Installer Asciidoctor avec Ansible

    Dans cet exemple, j’installe uniquement des applications sur l’ordinateur sur lequel je travaille, également connu sous le terme hôte local. Pour commencer, créez un playbook.yml fichier et copiez le contenu suivant :

    - name: Install software
      hosts
    : localhost
      become
    : false
      vars
    :
        Brew_packages
    :
          - asciidoctor
        install_homebrew_if_missing
    : false

    En premier Séquence YAMLvous nommez le playbook (Install software), fournissez la cible (localhost) et confirmez que les privilèges administratifs ne sont pas requis. Vous créez également deux variables que vous pourrez utiliser plus tard dans le playbook : Brew_packages etinstall_homebrew_if_missing.

    Ensuite, créez un mappage YAML appelé pre_tasks, contenant la logique pour s’assurer que Homebrew lui-même est installé sur l’ordinateur sur lequel vous exécutez le playbook. Normalement, Ansible peut vérifier si une application est installée ou non, mais lorsque cette application est le gestionnaire de packages qui aide Ansible à faire cette détermination en premier lieu, vous devez le faire manuellement :

    pre_tasks:
          - name
    : Ensuring Homebrew Is Installed
            stat
    :
              path
    : /usr/local/bin/brew
            register
    : homebrew_check

          - name
    : Fail If Homebrew Is Not Installed and install_homebrew_if_missing Is False
            fail
    :
              msg
    : Homebrew is missing, install from http://brew.sh
            when
    :
             - not homebrew_check.stat.exists
              - not install_homebrew_if_missing

          - name
    : Installing Homebrew
            shell
    : /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
            when
    :
             - not homebrew_check.stat.exists
              - install_homebrew_if_missing

    Enfin, créez un mappage YAML appelé tasks contenant un appel au module Homebrew (c’est un module intégré d’Ansible) pour installer Asciidoctor dans le cas où il n’est pas déjà présent :

     tasks:
        - name
    : Install Asciidoctor
          homebrew
    :
            name
    : asciidoctor
            state
    : present

    Exécuter un playbook Ansible

    Vous exécutez un playbook Ansible à l’aide de ansible-playbook commande:

    $ ansible-playbook -i inventory playbook.yml

    La -i l’option spécifie le inventory fichier que vous avez créé lors de la configuration d’Ansible. Vous pouvez éventuellement ajouter -vvvv pour ordonner à Ansible d’être plus détaillé lors de l’exécution du playbook, ce qui peut être utile lors du dépannage.

    Une fois le playbook exécuté, vérifiez qu’Ansible a correctement installé Asciidoctor sur votre hôte :

    $ asciidoctor -v
    Asciidoctor X.Y.Z https://asciidoctor.org
     Runtime Environment (ruby 2.6.8p205 (2021-07-07 revision 67951)...

    Adaptez-vous à l’automatisation

    Vous pouvez ajouter d’autres logiciels au Brew_packages variable dans l’exemple de playbook de cet article. Tant qu’un package Homebrew est disponible, Ansible l’installe. Ansible n’intervient que lorsque cela est nécessaire, vous pouvez donc laisser tous les packages que vous installez dans le playbook, créant ainsi un manifeste de tous les packages que vous attendez sur votre ordinateur.

    Si vous vous retrouvez sur un autre ordinateur, peut-être parce que vous êtes au travail ou que vous en avez acheté un nouveau, vous pouvez rapidement installer toutes les mêmes applications en une seule fois. Mieux encore, si vous passez à Linux, le playbook Ansible est toujours valable soit en utilisant Homebrew pour Linux, soit en effectuant quelques mises à jour simples pour passer à un autre gestionnaire de packages.

    Source

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code