reallyenglish.poudriere
ansible角色-poudriere
设置poudriere,一个用于FreeBSD的软件包构建工具
需求
无
角色变量
变量 | 描述 | 默认值 |
---|---|---|
poudriere_package |
poudriere 的软件包名称 |
ports-mgmt/poudriere |
poudriere_conf |
poudriere.conf 的路径 |
/usr/local/etc/poudriere.conf |
poudriere_conf_d |
poudriere.d 目录的路径 |
/usr/local/etc/poudriere.d |
poudriere_config_default |
poudriere_config 的默认值 |
见下文 |
poudriere_config |
覆盖poudriere_config_default 的配置字典 |
{} |
poudriere_ports |
见下文 | {} |
poudriere_jails |
见下文 | {} |
poudriere_hooks |
见下文 | {} |
poudriere_make_conf_files |
见下文 | [] |
poudriere_pkg_repo_signing_key |
用于poudriere 签名软件包的密钥内容 |
"" |
poudriere_config_default
BASEFS
和DISTFILES_CACHE
是必需的。详情请见poudriere.conf.sample
。
poudriere_config_default:
FREEBSD_HOST: http://ftp.freebsd.org
SVN_HOST: svn.FreeBSD.org
BASEFS: /usr/local/poudriere
RESOLV_CONF: /etc/resolv.conf
USE_TMPFS: "yes"
DISTFILES_CACHE: /usr/ports/distfiles
poudriere_ports
键 | 描述 | 必需? |
---|---|---|
method |
用于创建端口树的方法 | 否 |
branch |
要检出的分支 | 否 |
extra_flags |
创建端口树时传递给poudriere(8) 的额外标志 |
否 |
path |
端口树的路径 | 否 |
state |
端口的状态,可以是present 或absent |
是 |
poudriere_jails
键 | 描述 | 必需? |
---|---|---|
method |
用于创建监狱的方法 | 是 |
version |
监狱中使用的FreeBSD版本 | 是 |
extra_flags |
创建监狱时传递给poudriere(8) 的额外标志 |
否 |
state |
监狱的状态,可以是present 或absent |
是 |
poudriere_hooks
键 | 描述 |
---|---|
钩子名称 | 值为钩子脚本的内容。请见 hook 获取可能的钩子名称 |
poudriere_pkg_repo_signing_key
当定义poudriere_pkg_repo_signing_key
时,poudriere_config['PKG_REPO_SIGNING_KEY']
必须设置为密钥文件的路径。
poudriere_make_conf_files
此变量是一个字典列表。项目中的键如下所述。
键 | 描述 | 必需? |
---|---|---|
name |
make.conf(5) 的文件名 |
是 |
state |
如果为present 则创建文件,如果为absent 则删除 |
是 |
content |
make.conf(5) 的内容 |
如果state 为present 则必需 |
依赖
无
示例剧本
- hosts: localhost
roles:
- name: reallyenglish.git
- ansible-role-poudriere
vars:
poudriere_package: ports-mgmt/poudriere-devel
poudriere_make_conf_files:
- name: make.conf
state: present
content: |
LICENSES_ACCEPTED=MSPAT OSI
MAKE_JOB_NUMBERS=3
poudriere_config:
FREEBSD_HOST: http://ftp.freebsd.org
NO_ZFS: "yes"
GIT_URL: "https://github.com/reallyenglish/freebsd-ports-mini.git"
CHECK_CHANGED_OPTIONS: verbose
NOLINUX: "yes"
PKG_REPO_SIGNING_KEY: /usr/local/etc/poudriere/keys/my.key
CCACHE_DIR: /var/cache/ccache
# openssl genrsa -out my.key 2048
# openssl rsa -in my.key -out my.pub -pubout
poudriere_pkg_repo_signing_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAwoMg0XK2SdEaz8b8O6rYf+lzDx+ElBXr2ARmFCG+SzKmHf8+
zL4+gKMLFv3DytKE2WiZs+WNCKCGYPmH6Sg5DOJxpO/NhpqiHSngigB7B2XzZeSC
erTiqn4Qw17/ydd1tRFzVS/BPPYyoUnFdZ4+xgItaPfa6Ns32mwqUb9mE2EEx66u
yU1GAiI7yO1VRYzrHQwyVB74c72mlC/kJaUaBLoE9dWfyegRRycRK3sSxMYX0eYE
5/EzlmRK3BBLchH57B0u2WWR75MWUfkTWh1pAKB/Dxl74fmQT+yvNKk9/U8mo9zV
oVw0H7dphgglS2fXXvyFIn9TIVGS5zbe2C4scQIDAQABAoIBAEu5lQs1Z3YxbAi7
5PKtvn99uQeIM6sbJagBfmQUButrmnRPLHm1DswxrV2UCadqccHaEQySL2fOZsJW
Iu1IdX1ooumdWhwvEzHbXckcCsmEjU97uLhgt2W8knYdA+Pmd7K4Sng9kTNUfb2A
5Ni3dKTNsDQPWjAROBtWxNrycqDUFIFiN/VYFsPb4cQHxJLx62l8xZklC1jk9rmE
G8CacImUMmorTD5QUbhVeWDvb0Szpn73kDQmYkKQ8Eq4zOlrWXoTYAPxHrbX85pT
GqkzzcuYiq7ByP3LWP3GvZKCjgONwBVTEsXjPtbrOTDr7JshMjrJSl40DCYUGOvh
a26DXwkCgYEA6eUyKmGHW0BM320cT5bHSkwsg0uoidSs1IcqR+lFyL5/3Wauxfo1
wxiKJNYzXC84UahCzPP3cS+Bpy1hfDqvDIRxLuTNGBxvDMFmiQHWnXsXdJmEInIB
rBnN3nGiZFUrKmCuaBVo/tweft4Fe9JulB/efDXcHOcg7mvCL4u1LjMCgYEA1OUb
o2n1wbMjOeI7kvhf0pbL/Jgt0sIj8tYRqHhFihrk7aQVv87O0iOLOgKN2McXTdow
qXouO0dJhDMydJHT4Lpmueguu+1cuSwB7Lt3ETOjBn41KzTOYlgJeGR3w6ltYCWw
0zLUmRPlfiZ77yLThbXCvJKr0TTo6VqU+unVTssCgYAVasBCMzYCvAuN9d6+xu6u
tfTpfNcM7+V3fHz5ormaHR92NX3RcQzVNX0IzHhde5FroL2lKL3Cpnf3x+cCShlX
SxVWFutUxt3ATEFIUFvHhcrrCVeZE9llWeOI99zH1Sijs8CklTlNBPjh4xCbevRX
KefkdcYW+27/hex9EAziEwKBgCICG0EmewifOiBUAFpA7OWyCxHlqWRCeQWgpp93
3vvpweooTQUf3y/4V5RDti8L1rAsC5v3FY2InLjOiN/QL711aVWHPnfsueQmoIQV
ijaoPgGahZnKTLGvCIw/2FXcKcmzG6UROJ7fa8iUEzYnJQz19Q60i1fXEOG+A5B1
bAqzAoGAdMTTrDnSXZyPvnLE+RVImOBReFf5yjyh0zQ5mPGQe2qZcY2c+oKS/m3B
OmgYmcPHy86OchpI+cYTUsCr+sMwpKwdnb49VuoDFYOuVsE4vFT/jJs3Bil3bsnc
uMObnA6Is7MX1EItBTCug8192gu8Mcc6zOVo0TkzbQdEdmms3Gk=
-----END RSA PRIVATE KEY-----
poudriere_ports:
mini:
method: git
branch: 20170222
state: present
vagrant:
state: present
extra_flags: -f none -F
path: /home/vagrant/freebsd-ports
poudriere_jails:
"10_3":
method: http
version: 10.3-RELEASE
state: present
poudriere_hooks:
jail: |
#!/bin/sh
echo "args=$*"
builder: |
#!/bin/sh
echo "args=$*"
许可
版权 (c) 2016 Tomoyuki Sakurai <tomoyukis@reallyenglish.com>
特此授予使用、复制、修改和分发本软件的权利,无论是否收费,前提是上述版权声明和本许可声明出现在所有副本中。
本软件按“现状”提供,作者对本软件不承担任何保证,包括所有适售性和适用性的暗示保证。在任何情况下,作者对因使用或性能本软件而导致的任何特殊、直接、间接或后果性损害或任何损害不承担责任,这包括数据或利润的损失,无论是在合同诉讼、疏忽或其他侵权行为中。
作者信息
Tomoyuki Sakurai tomoyukis@reallyenglish.com