raffienficiaud.atlassian-bambooagent-cmake-role
Ansible Atlassian Bambooagent CMakeロール
指定されたバージョンのcmake
をリモートにインストールし、Bambooエージェントの機能としてcmake/cpack/ctest
をシステムビルダーとして登録します。
また、WindowsではPATH
にcmake
を登録し、bamboo_capabilities
という事実にcmakeのバージョンとパスを登録します。
要件
現在、Ubuntu、OSX、およびWindowsでのみ動作します。公式のインストールパッケージがディスクに必要です。Linuxでは、公式CMakeダウンロードページから提供されるtarファイルである必要があります。WindowsおよびOSXでは、それぞれ.exe
および.dmg
パッケージのインストーラーが必要です。
ロール変数
変数 | デフォルト | 意味 |
---|---|---|
cmake_installation |
必須 | インストールを示す辞書、詳細は以下を参照。 |
linux_install_prefix |
'' |
Linux用のインストールプレフィックス(デフォルトは空文字列)。 |
bamboo_capabilities |
(空の辞書) | エージェントの能力を保持する事実辞書。この辞書は実行後に追加のキーが含まれます。 |
cmake_installation
Linuxの場合:cmakeのtarファイルはリモートの
{{ linux_install_prefix }}/usr/local/cmake-version-specific
に展開されます。cmake_installation
のfile
、subfolder
、version
のフィールドは定義する必要があります。 例: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 }}"
OSXの場合:ロールはDMGインストーラーを使用しており、
version
を追加する必要があります。例: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
この変数は、特定のプレフィックスの下にcmake
を再配置可能なパッケージとしてインストールするために使用されます。たとえば、{{ bambooagent_install_root }}/usr/local
のように、ビルドエージェントにローカル的なものであり、使用中のバイナリがオペレーティングシステムの他の部分から隔離されることができます。このフォルダーは、エージェントが起動したときにシステムパスより優先されるべきです。
ロールによって宣言される能力
このロールが実行されると、以下の能力がBambooエージェントインスタンスに宣言されます:
能力 | 値 |
---|---|
system.builder.command.cmake(/ctest/cpack) |
コマンドの場所 |
cmake_version |
cmakeのバージョン |
依存関係
このロールは、DMGインストールロール ansible-atlassian-bambooagent-install-dmg-role
に依存しています。
例としてのプレイブック
以下は、OSXエージェントにインストールするためにロールを使用する方法の例です。
- hosts: osx-agents
vars:
# cmakeのバージョンとインストーラーを宣言
- 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] 空の能力宣言'
set_fact:
bamboo_capabilities: {}
roles:
# cmakeをインストール
- role: atlassian-bambooagent-cmake-role
vars:
cmake_installation: "{{ play_cmake_installation }}"
linux_install_prefix: "/home/bambooagent/"
ライセンス
BSD
著者情報
Ansibleに関するコメント、PR、またはバグ報告は、対応するGithubプロジェクトから歓迎します。
Installs CMake in an Atlassian Bamboo remote agent and declares the cmake builder capability
ansible-galaxy install raffienficiaud.atlassian-bambooagent-cmake-role