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.
Helper role for installing a DMG on a remote target
ansible-galaxy install raffienficiaud.atlassian-bambooagent-install-dmg-role