raffienficiaud.atlassian-bambooagent-cmake-role

Rol de Ansible Atlassian Bambooagent CMake

Instala una versión específica de cmake en los remotos y registra cmake/cpack/ctest como constructores del sistema para las capacidades del agente de Bamboo. También registra cmake en el PATH en Windows y añade la versión y rutas de cmake en un hecho llamado bamboo_capabilities.

Requisitos

Actualmente funciona solo en Ubuntu, OSX y Windows. Requiere los paquetes de instalación oficiales en el disco. En Linux, debería ser el archivo tar proporcionado por la página oficial de descarga de CMake. En Windows y OSX, estos son respectivamente los instaladores empaquetados .exe y .dmg.

Variables de la Rol

variable por defecto significado
cmake_installation requerido un diccionario que describe la instalación, ver más abajo.
linux_install_prefix '' Prefijo de instalación para Linux (por defecto es una cadena vacía).
bamboo_capabilities (diccionario vacío) diccionario de hechos que contiene las capacidades del agente. El diccionario contendrá claves adicionales después de la ejecución.

cmake_installation

  • En Linux: el archivo tar de cmake se descomprime en el remoto bajo el {{ linux_install_prefix }}/usr/local/cmake-version-specific. Deben definirse los campos file, subfolder y version de cmake_installation. Ejemplo:

    local_cmake_version:
      major: 3
      minor: 4
      patch: 1
    
    local_cmake_installation:
      file: 'cmake-{{ local_cmake_version.major }}.{{ local_cmake_version.minor }}.{{ local_cmake_version.patch }}-Linux-x86_64.tar.gz'
      subfolder: cmake-{{ local_cmake_version.major }}.{{ local_cmake_version.minor }}.{{ local_cmake_version.patch }}-Linux-x86_64
      version: "{{ local_cmake_version }}"
    
  • En OSX: la rol utiliza el instalador DMG, al cual se debe agregar 'version'. Ejemplo:

    bamboo_cmake_version:
      major: 3
      minor: 4
      patch: 1
    
    local_cmake_installation:
      file: 'cmake-{{ local_cmake_version.major }}.{{ local_cmake_version.minor }}.{{ 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 se utiliza para instalar cmake como un paquete relocatable bajo este prefijo en particular. Puede ser, por ejemplo, {{ bambooagent_install_root }}/usr/local, que es local al agente de construcción y que aislará los binarios en uso del resto del sistema operativo. Esta carpeta debe tener prioridad sobre la ruta del sistema cuando el agente comienza.

Capacidades declaradas por la rol

Una vez ejecutada, esta rol declara las siguientes capacidades en la instancia del agente de Bamboo:

capacidad valor
system.builder.command.cmake(/ctest/cpack) ubicación de los comandos
cmake_version versión de cmake

Dependencias

Esta rol depende de la rol de instalación DMG ansible-atlassian-bambooagent-install-dmg-role.

Ejemplo de Playbook

Aquí hay un ejemplo de cómo usar la rol para instalar en agentes OSX.

- hosts: osx-agents
  vars:

  # declara la versión de cmake y el instalador
  - play_cmake_version:
      major: 3
      minor: 7
      patch: 1

  - play_cmake_installation:
      file: "/path/to/cmake/installers/cmake-{{ play_cmake_version.major }}.{{ play_cmake_version.minor }}.{{ 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] declaración de capacidades vacía'
      set_fact:
        bamboo_capabilities: {}

  roles:

    # Instala cmake
    - role: atlassian-bambooagent-cmake-role
      vars:
        cmake_installation: "{{ play_cmake_installation }}"
        linux_install_prefix: "/home/bambooagent/"

Licencia

BSD

Información del Autor

Cualquier comentario sobre Ansible, PR o informes de errores son bienvenidos en el proyecto correspondiente de Github.

Acerca del proyecto

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

Instalar
ansible-galaxy install raffienficiaud.atlassian-bambooagent-cmake-role
Licencia
Unknown
Descargas
119
Propietario
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org