raffienficiaud.atlassian-bambooagent-install-dmg-role

Ansible Atlassian BambooAgent 安装 DMG 角色

DMG 文件的内容安装到远程目标(仅限 OSX)。

目前这是一个角色,但它更像是一个复杂的命令。该角色

  • 将一个 DMG 文件复制到主机
  • 进行必要的转换以实现自动化(例如某些 DMG 需要手动输入:提到的转换会移除手动步骤)
  • 将其挂载到临时文件夹
  • 运行安装命令
  • 卸载并删除任何中间文件(例如,转换后的 DMG)

要求

没有特别的要求,只需在 OSX 目标机器上运行。

角色变量

变量 默认值 含义
dmg_to_install 必需 要安装的 DMG 文件。实际上这是一个字典,表示安装选项。

dmg_to_install 格式

dmg_to_install 是一个字典,包含以下字段

字段 默认值 含义
file 必需 指向 DMG 文件。
install_cmd 必需 应在远程机器上正确挂载 DMG 后运行的命令。
remove_interactive False 表示是否应修改原始 DMG 以移除一些交互式输入。
local_folder /tmp 在远程机器上 DMG 被复制到的文件夹。中间 DMG 也在此创建。
remote_src False 如果为 True,则 DMG 已在远程机器上,无需从控制器复制。
remove_after_install True 如果为 False,则安装后不会删除原始 DMG。中间 DMG 始终会被删除。

在安装过程中,${mount} 变量将被替换为实际的 DMG 内容挂载位置(见下面的示例)。

依赖

没有额外的依赖。

示例剧本

以下示例安装 XCode 命令行工具:

# 安装 OSX 命令行工具
# 动态修复路径
- role: ansible-atlassian-bambooagent-install-dmg-role
  dmg_to_install:
    - "{{ bamboo_xcode }}"
  when:
    - ansible_distribution == "MacOSX"
    - xcode_version_installed | version_compare('%d.%d' % (bamboo_xcode.version.major, bamboo_xcode.version.minor), '<')

bamboo_xcode 变量包含如下内容:

bamboo_xcode:
  file: 'commandlinetoolsosx10.10forxcode6.3.2.dmg'
  install_cmd: 'installer -allowUntrusted -dumplog -pkg "${mount}/Command Line Tools (OS X 10.10).pkg" -target /'
  remove_interactive: False
  version:
    major: 6
    minor: 3
    patch: 2

${mount} 变量扩展为实际的挂载位置(随机文件夹)。 bamboo_xcode.version 与 DMG 角色没有直接关系(而是与上述 dmg_to_install 命令的 ansible 条件 相关)。

许可证

BSD

作者信息

欢迎对 Ansible 的任何评论、PR 或问题报告,欢迎在相关的 Github 项目中提交。

关于项目

Helper role for installing a DMG on a remote target

安装
ansible-galaxy install raffienficiaud.atlassian-bambooagent-install-dmg-role
许可证
Unknown
下载
186
拥有者
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org