raffienficiaud.atlassian-bambooagent-cmake-role
Ansible Atlassian Bambooagent CMake Rolle
Installiert eine bestimmte Version von cmake
auf den Remotes und registriert cmake/cpack/ctest
als Systembauer für die Fähigkeiten des Bamboo-Agenten. Außerdem wird cmake
auf dem PATH
unter Windows registriert und die cmake-Version und Pfade in einer Tatsache bamboo_capabilities
gespeichert.
Anforderungen
Derzeit nur für Ubuntu, OSX und Windows geeignet. Es werden die offiziellen Installationspakete auf der Festplatte benötigt. Auf Linux sollte dies die von der offiziellen CMake-Downloadseite bereitgestellte Tar-Datei sein. Auf Windows und OSX sind dies jeweils die .exe
und .dmg
Installationspakete.
Variablen der Rolle
Variable | Standardwert | Bedeutung |
---|---|---|
cmake_installation |
erforderlich | Ein Dictionary, das die Installation beschreibt, siehe unten. |
linux_install_prefix |
'' |
Installationspräfix für Linux (standardmäßig leere Zeichenkette). |
bamboo_capabilities |
(leeres Dict) | Faktordictionary, das die Fähigkeiten des Agenten speichert. Das Dictionary wird nach dem Lauf zusätzliche Schlüssel enthalten. |
cmake_installation
Auf Linux: Die cmake-Tar-Datei wird auf dem Remote unter
{{ linux_install_prefix }}/usr/local/cmake-version-specific
entpackt. Die Felderfile
,subfolder
undversion
voncmake_installation
sollten definiert werden. Beispiel: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 }}"
Auf OSX: Die Rolle verwendet den DMG-Installer, welchem die 'version' hinzugefügt werden sollte. Beispiel:
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
Die Variable wird verwendet, um cmake
als relocierbares Paket unter diesem speziellen Präfix zu installieren. Sie kann zum Beispiel {{ bambooagent_install_root }}/usr/local
sein, was lokal zum Build-Agenten ist und die verwendeten Binärdateien vom Rest des Betriebssystems isoliert. Dieser Ordner sollte Vorrang vor dem Systempfad haben, wenn der Agent gestartet wird.
Von der Rolle deklarierte Fähigkeiten
Nach dem Ausführen dieser Rolle werden folgende Fähigkeiten auf der Bamboo-Agenteninstanz deklariert:
Fähigkeit | Wert |
---|---|
system.builder.command.cmake(/ctest/cpack) |
Ort der Befehle |
cmake_version |
cmake-Version |
Abhängigkeiten
Diese Rolle basiert auf der DMG-Installationsrolle ansible-atlassian-bambooagent-install-dmg-role
.
Beispiel-Playbook
Hier ist ein Beispiel, wie die Rolle zur Installation auf OSX-Agents verwendet werden kann.
- hosts: osx-agents
vars:
# deklariert die cmake-Version und den Installer
- 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] leere Fähigkeiten-Deklaration'
set_fact:
bamboo_capabilities: {}
roles:
# Installiert cmake
- role: atlassian-bambooagent-cmake-role
vars:
cmake_installation: "{{ play_cmake_installation }}"
linux_install_prefix: "/home/bambooagent/"
Lizenz
BSD
Autoreninformation
Kommentare zu Ansible, PR oder Fehlerberichte sind willkommen im entsprechenden Github-Projekt.
Installs CMake in an Atlassian Bamboo remote agent and declares the cmake builder capability
ansible-galaxy install raffienficiaud.atlassian-bambooagent-cmake-role