raffienficiaud.atlassian-bambooagent-cmake-role

Ansible Atlassian Bambooagent CMakeロール

指定されたバージョンのcmakeをリモートにインストールし、Bambooエージェントの機能としてcmake/cpack/ctestをシステムビルダーとして登録します。 また、WindowsではPATHcmakeを登録し、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_installationfilesubfolderversionのフィールドは定義する必要があります。 例:

    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
ライセンス
Unknown
ダウンロード
119
所有者
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org