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 camposfile
,subfolder
yversion
decmake_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.
Installs CMake in an Atlassian Bamboo remote agent and declares the cmake builder capability
ansible-galaxy install raffienficiaud.atlassian-bambooagent-cmake-role