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 项目中提交。
安装
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