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 Felder file, subfolder und version von cmake_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.

Über das Projekt

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

Installieren
ansible-galaxy install raffienficiaud.atlassian-bambooagent-cmake-role
GitHub Repository
Lizenz
Unknown
Downloads
119
Besitzer
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org