raffienficiaud.atlassian-bambooagent-install-dmg-role

Installation du rôle DMG d'Ansible Atlassian BambooAgent

Installe le contenu d'un fichier DMG sur une cible distante (uniquement pour OSX).

C'est actuellement un rôle, mais il serait préférable que ce soit une commande complexe. Ce rôle :

  • copie un fichier DMG sur l'hôte
  • le transforme si nécessaire pour permettre l'automatisation (par exemple, certains DMG nécessitent des entrées manuelles : la transformation mentionnée supprime les étapes manuelles)
  • le monte dans un dossier temporaire
  • lance une commande pour l'installation
  • démonte et supprime tout fichier intermédiaire (par ex. le DMG transformé)

Exigences

Aucune exigence particulière en dehors de l'exécution sur une machine cible OSX.

Variables du Rôle

variable par défaut signification
dmg_to_install requise le fichier DMG à installer. Il s'agit en réalité d'un dictionnaire indiquant les options d'installation.

Format de dmg_to_install

Le dmg_to_install est un dictionnaire contenant les champs suivants

champ par défaut signification
file requise Point vers le fichier DMG.
install_cmd requise La commande qui doit être exécutée à distance après que le DMG a été correctement monté.
remove_interactive False Indique si le DMG d'origine doit être modifié pour supprimer certaines entrées interactives requises.
local_folder /tmp Le dossier sur la machine distante où le DMG est copié. Les DMGs intermédiaires y sont également créés.
remote_src False si True, le DMG est déjà sur la machine distante et n'est pas copié depuis le contrôleur.
remove_after_install True si False, le DMG d'origine n'est pas supprimé après l'installation. Les DMGs intermédiaires sont toujours supprimés.

Pendant l'installation, la variable ${mount} est remplacée par l'emplacement réel du contenu du DMG (voir l'exemple ci-dessous).

Dépendances

Pas de dépendance supplémentaire.

Exemple de Playbook

L'exemple suivant installe les outils en ligne de commande XCode :

# Installe les outils en ligne de commande OSX
# corrige les chemins à la volée
- role: ansible-atlassian-bambooagent-install-dmg-role
  dmg_to_install:
    - "{{ bamboo_xcode }}"
  when:
    - ansible_distribution == "MacOSX"
    - xcode_version_installed | version_compare('%d.%d' % (bamboo_xcode.version.major, bamboo_xcode.version.minor), '<')

et la variable bamboo_xcode contient ce qui suit :

bamboo_xcode:
  file: 'commandlinetoolsosx10.10forxcode6.3.2.dmg'
  install_cmd: 'installer -allowUntrusted -dumplog -pkg "${mount}/Command Line Tools (OS X 10.10).pkg" -target /'
  remove_interactive: False
  version:
    major: 6
    minor: 3
    patch: 2

La variable ${mount} est étendue à l'emplacement réel de montage (dossier aléatoire). La bamboo_xcode.version n'est pas directement liée au rôle DMG (mais plutôt à la condition Ansible de la commande dmg_to_install ci-dessus).

Licence

BSD

Informations sur l'auteur

Tous les commentaires sur Ansible, les demandes de tirage ou les rapports de bogue sont les bienvenus sur le projet Github correspondant.

À propos du projet

Helper role for installing a DMG on a remote target

Installer
ansible-galaxy install raffienficiaud.atlassian-bambooagent-install-dmg-role
Licence
Unknown
Téléchargements
186
Propriétaire
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org