raffienficiaud.atlassian-bambooagent-cmake-role

Rola Ansible Atlassian Bambooagent CMake

Instaluje określoną wersję cmake na zdalnych maszynach i rejestruje cmake/cpack/ctest jako systemowe narzędzia budujące dla możliwości agenta Bamboo. Rejestruje również cmake w PATH na systemie Windows i zapisuje wersję oraz ścieżki cmake w fakcie bamboo_capabilities.

Wymagania

Obecnie działa tylko na Ubuntu, OSX i Windows. Wymaga oficjalnych pakietów instalacyjnych na dysku. Na Linuksie powinien to być plik tar dostarczany przez oficjalną stronę pobierania CMake. Na Windows i OSX są to odpowiednio instalatory w formacie .exe i .dmg.

Zmienne Roli

zmienna domyślna znaczenie
cmake_installation wymagana słownik opisujący instalację, szczegóły poniżej.
linux_install_prefix '' Prefiks instalacji dla Linuksa (domyślnie pusty ciąg).
bamboo_capabilities (pusty słownik) słownik faktów przechowujący możliwości agenta. Słownik będzie zawierał dodatkowe klucze po wykonaniu.

cmake_installation

  • Na Linuksie: plik tar cmake jest rozpakowywany na zdalnej maszynie w {{ linux_install_prefix }}/usr/local/cmake-version-specific. Pola file, subfolder i version w cmake_installation powinny być zdefiniowane. Przykład:

    lokalna_wersja_cmake:
      major: 3
      minor: 4
      patch: 1
    
    lokalna_instalacja_cmake:
      file: 'cmake-{{ lokalna_wersja_cmake.major }}.{{ lokalna_wersja_cmake.minor }}.{{ lokalna_wersja_cmake.patch }}-Linux-x86_64.tar.gz'
      subfolder: cmake-{{ lokalna_wersja_cmake.major }}.{{ lokalna_wersja_cmake.minor }}.{{ lokalna_wersja_cmake.patch }}-Linux-x86_64
      version: "{{ lokalna_wersja_cmake }}"
    
  • Na OSX: rola używa instalatora DMG, do którego powinno być dodane 'version'. Przykład:

    wersja_cmake_bamboo:
      major: 3
      minor: 4
      patch: 1
    
    lokalna_instalacja_cmake:
      file: 'cmake-{{ lokalna_wersja_cmake.major }}.{{ lokalna_wersja_cmake.minor }}.{{ lokalna_wersja_cmake.patch }}-Darwin-x86_64.dmg'
      install_cmd: 'rm -rf /Applications/CMake.app && cp -R -f "${mount}/CMake.app" /Applications/'
      remove_interactive: True
      version: "{{ lokalna_wersja_cmake }}"
    

linux_install_prefix

Zmienna ta jest używana do instalacji cmake jako przenośnego pakietu pod tym określonym prefiksem. Może to być na przykład {{ bambooagent_install_root }}/usr/local, co jest lokalne dla agenta budującego i izoluje używane pliki binarne od reszty systemu operacyjnego. Ten folder powinien mieć pierwszeństwo przed ścieżką systemową, gdy agent się uruchamia.

Możliwości deklarowane przez rolę

Po wykonaniu ta rola deklaruje następujące możliwości dla instancji agenta Bamboo:

możliwość wartość
system.builder.command.cmake(/ctest/cpack) lokalizacja poleceń
cmake_version wersja cmake

Zależności

Ta rola opiera się na roli instalacji DMG ansible-atlassian-bambooagent-install-dmg-role.

Przykładowa Książka Gier

Oto przykład, jak użyć roli do instalacji na agentach OSX.

- hosts: osx-agents
  vars:

  # deklaruje wersję cmake i instalator
  - 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] deklaracja pustych możliwości'
      set_fact:
        bamboo_capabilities: {}

  roles:

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

Licencja

BSD

Informacje o autorze

Wszelkie uwagi dotyczące Ansible, PR lub zgłoszeń błędów są mile widziane w odpowiednim projekcie na Githubie.

O projekcie

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

Zainstaluj
ansible-galaxy install raffienficiaud.atlassian-bambooagent-cmake-role
Licencja
Unknown
Pobrania
119
Właściciel
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org