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 champs file, subfolder et version de cmake_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.

À propos du projet

Installs CMake in an Atlassian Bamboo remote agent and declares the cmake builder capability

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