raffienficiaud.atlassian-bambooagent-cmake-role
Rôle Ansible Atlassian Bambooagent CMake
Installe une version spécifique de cmake
sur les machines distantes et enregistre cmake/cpack/ctest
comme outils de construction système pour les capacités de l'agent Bamboo. Enregistre également cmake
dans le PATH
sous Windows et enregistre la version et les chemins de cmake dans un fait bamboo_capabilities
.
Exigences
Fonctionne actuellement uniquement sous Ubuntu, OSX et Windows. Nécessite que les paquets d'installation officiels soient présents sur le disque. Sous Linux, il s'agit du fichier tar fourni par la page de téléchargement officielle de CMake. Sous Windows et OSX, ce sont respectivement les installateurs emballés .exe
et .dmg
.
Variables du rôle
variable | par défaut | signification |
---|---|---|
cmake_installation |
requis | un dictionnaire décrivant l'installation, voir ci-dessous. |
linux_install_prefix |
'' |
Préfixe d'installation pour Linux (par défaut une chaîne vide). |
bamboo_capabilities |
(dictionnaire vide) | dictionnaire de faits contenant les capacités de l'agent. Le dictionnaire contiendra des clés supplémentaires après l'exécution. |
cmake_installation
Sous Linux : le fichier tar de cmake est décompressé sur la machine distante sous
{{ linux_install_prefix }}/usr/local/cmake-version-specific
. Les champsfile
,subfolder
etversion
decmake_installation
doivent être définis. Exemple :local_cmake_version: majeur: 3 mineur: 4 patch: 1 local_cmake_installation: fichier: 'cmake-{{ local_cmake_version.majeur }}.{{ local_cmake_version.mineur }}.{{ local_cmake_version.patch }}-Linux-x86_64.tar.gz' sous_dossier: cmake-{{ local_cmake_version.majeur }}.{{ local_cmake_version.mineur }}.{{ local_cmake_version.patch }}-Linux-x86_64 version: "{{ local_cmake_version }}"
Sous OSX : le rôle utilise l'installateur DMG, auquel 'version' doit être ajouté. Exemple :
bamboo_cmake_version: majeur: 3 mineur: 4 patch: 1 local_cmake_installation: fichier: 'cmake-{{ local_cmake_version.majeur }}.{{ local_cmake_version.mineur }}.{{ local_cmake_version.patch }}-Darwin-x86_64.dmg' install_cmd: 'rm -rf /Applications/CMake.app && cp -R -f "${mount}/CMake.app" /Applications/' remove_interactive: True version: "{{ local_cmake_version }}"
linux_install_prefix
La variable est utilisée pour installer cmake
en tant que paquet déplaçable sous ce préfixe particulier. Elle peut par exemple être {{ bambooagent_install_root }}/usr/local
, ce qui est local à l'agent de construction, et qui isole les binaires utilisés du reste du système d'exploitation. Ce dossier doit avoir la priorité sur le chemin système lorsque l'agent démarre.
Capacités déclarées par le rôle
Une fois exécuté, ce rôle déclare les capacités suivantes sur l'instance de l'agent Bamboo :
capacité | valeur |
---|---|
system.builder.command.cmake(/ctest/cpack) |
emplacement des commandes |
cmake_version |
version de cmake |
Dépendances
Ce rôle dépend du rôle d'installation DMG ansible-atlassian-bambooagent-install-dmg-role
.
Exemple de Playbook
Voici un exemple d'utilisation du rôle pour une installation sur des agents OSX.
- hosts: osx-agents
vars:
# déclare la version et l'installateur de cmake
- play_cmake_version:
majeur: 3
mineur: 7
patch: 1
- play_cmake_installation:
fichier: "/path/to/cmake/installers/cmake-{{ play_cmake_version.majeur }}.{{ play_cmake_version.mineur }}.{{ play_cmake_version.patch }}-Darwin-x86_64.dmg"
install_cmd: 'rm -rf /Applications/CMake.app && cp -R -f "${mount}/CMake.app" /Applications/'
remove_interactive: True
version: "{{ bamboo_cmake_version }}"
pre_tasks:
- name: '[BAMBOO] déclaration de capacités vide'
set_fact:
bamboo_capabilities: {}
roles:
# Installe cmake
- role: atlassian-bambooagent-cmake-role
vars:
cmake_installation: "{{ play_cmake_installation }}"
linux_install_prefix: "/home/bambooagent/"
Licence
BSD
Informations sur l'auteur
Tous commentaires concernant Ansible, PR ou rapports de bugs sont les bienvenus sur le projet Github correspondant.
Installs CMake in an Atlassian Bamboo remote agent and declares the cmake builder capability
ansible-galaxy install raffienficiaud.atlassian-bambooagent-cmake-role