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-specificentpackt. Die Felderfile,subfolderundversionvoncmake_installationsollten 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