trfore.jsvc
Ansible角色:jsvc
在RedHat/CentOS和Debian/Ubuntu上编译Apache Commons Daemon,也称为jsvc
。
该角色下载并编译最新的源代码,从Apache Commons(链接),并将二进制文件复制到/usr/bin/
。可选择地,这会移除JDK和源代码目录。
如果您希望手动下载源代码到您的Ansible控制主机,请将native-src,commons-daemon-*.*.*-native-src.tar.gz
下载到您的files
目录,并在您的剧本中设置以下两个变量:
jsvc_tar_src: commons-daemon-*.*.*-native-src.tar.gz
jsvc_tar_src_remote: false
安装角色
您可以使用Ansible Galaxy CLI安装此角色:
ansible-galaxy role install trfore.jsvc
您也可以将其包含在requirements.yml
文件中,并使用ansible-galaxy install -r requirements.yml
进行安装,格式如下:
---
roles:
- trfore.jsvc
测试平台
ansible-core
2.15,2.16和2.17- CentOS Stream 8和9
- 注意:CentOS 8 默认使用python 3.6,并且在ansible-core 2.17 中不受支持
- Debian 10 和 11
- Ubuntu 20.04,22.04 和 24.04
需求
无
角色变量
可用的变量如下所示,以及默认值(请参见defaults/main.yml
):
变量 | 默认值 | 描述 | 必需 |
---|---|---|---|
jsvc_src_version | 1.4.0 |
Apache Commons的Daemon最新发布 | 否 |
jsvc_tar_src | URL | Apache Commons的Daemon native 源代码tar文件,URL或相对路径 | 否 |
jsvc_tar_src_remote | true |
布尔值,如果从URL下载则为true |
否 |
jsvc_tar_dir | /var/tmp |
目标主机的临时目录,用于提取和编译源代码 | 否 |
jsvc_tar_folder | 自动 | 从jsvc_tar_src 变量确定 |
自动 |
jsvc_build_dependencies | ["autoconf", "make", "gcc"] |
用于编译源代码的包 | 否 |
jsvc_remove_jdk | false |
布尔值,构建后卸载Java JDK | 否 |
jsvc_remove_tar_folder | false |
布尔值,删除目标主机上的源代码临时目录 | 否 |
特定于操作系统的变量如下所示,以及默认值(请参见vars/main.yml
):
变量 | 默认值 | 描述 | 必需 |
---|---|---|---|
jsvc_build_jdk | openjdk-11-jdk-headless |
Java JDK(Debian) | 否 |
jsvc_build_jdk | java-11-openjdk-devel.x86_64 |
Java JDK(RHEL) | 否 |
依赖关系
无
示例剧本
- hosts: servers
become: true
roles:
- name: 编译jsvc二进制文件
role: trfore.jsvc
- 如果您手动下载tar文件,并希望删除JDK和源目录:
- hosts: servers
become: true
vars:
jsvc_tar_src: commons-daemon-1.4.0-native-src.tar.gz
jsvc_tar_src_remote: false
jsvc_remove_jdk: true
jsvc_remove_tar_folder: true
roles:
- name: 编译jsvc二进制文件
role: trfore.jsvc
许可证
MIT
作者信息
Taylor Fore (https://github.com/trfore)
相关角色与剧本
Github | Ansible Galaxy |
---|---|
ansible-role-jsvc | trfore.jsvc |
ansible-role-mongodb-install | trfore.mongodb_install |
ansible-role-omada-install | trfore.omada_install |