Comcast.sdkman
Ansible 角色: Comcast.sdkman
这个 Ansible 角色执行以下功能:
- 安装 SDKMAN
- 安装/卸载 SDKMAN 管理的软件 候选项
- 设置 SDK 版本的默认值
- 管理 SDKMAN 配置文件:
/path/to/sdkman/etc/config
- 刷新 SDKMAN 缓存
警告:Oracle 已经越来越难以安装他们的 JDK,这影响了通过 SDKMAN 安装 JDK 的能力。考虑使用 OpenJDK,或通过其他方式安装/管理 Oracle JDK。
要求
无。
角色变量
请查看 defaults 以获取每个可重写变量的描述。
依赖
无。
示例剧本
这是一个示例!
- hosts: servers
roles:
- role: Comcast.sdkman
sdkman_user: vagrant
sdkman_group: vagrant
sdkman_auto_answer: true
sdkman_update: true
sdkman_uninstall_packages:
- { candidate: groovy, version: 1.8.9 }
sdkman_install_packages:
- { candidate: java, version: 8.0.202-zulu }
- { candidate: gradle, version: '3.5' }
- { candidate: gradle, version: 2.14.1 }
- { candidate: maven, version: 3.5.0 }
- { candidate: maven, version: 3.3.9 }
# 如果你想让 SDKMAN 知道未通过 SDKMAN 安装的包,例如 Oracle JDK,使用这个语法
- { candidate: java, version: 1.8.0-oracle, localpath: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk }
sdkman_defaults:
gradle: '3.5'
maven: 3.3.9
java: 8.0.202-zulu
sdkman_flush_caches_before:
- temp
sdkman_flush_caches_after:
- archives
- broadcast
- candidates
- temp
sdkman_offline_mode: false
sdkman_update_alternatives:
- candidate: java
name: java
link: /usr/bin/java
- candidate: java
name: javac
link: /usr/bin/javac
附加说明
如果你想跳过任何需要提升权限的步骤(即 sudo
命令),这个角色标记了那些任务为 sdkman_privilege
标签。通过命令行传递 --skip-tags
标志和该标签,以跳过管理员可能已经完成的任何步骤(例如安装系统包)。
在 Alpine Linux 上测试这个角色一直很困难。通过 SDKMAN 提供的较新 JDK 构建(>-11)与 Alpine 不兼容。建议通过 apk
包存储库安装 JDK/JRE。尽管如此,我目前不确定 SDKMAN 包在 Alpine 上的运行情况。你的体验可能会有所不同。_你已被警告_。
许可证
作者信息
关于项目
An Ansible role that installs/manages SDKMAN
安装
ansible-galaxy install Comcast.sdkman
许可证
apache-2.0
下载
96.8k
拥有者
Comcast brings together the best in media and technology to create the world's best entertainment and online experiences