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