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

BASEFSDISTFILES_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 端口的状态,可以是presentabsent

poudriere_jails

描述 必需?
method 用于创建监狱的方法
version 监狱中使用的FreeBSD版本
extra_flags 创建监狱时传递给poudriere(8)的额外标志
state 监狱的状态,可以是presentabsent

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)的内容 如果statepresent则必需

依赖

示例剧本

- 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

关于项目

Configures poudriere

安装
ansible-galaxy install reallyenglish.poudriere
许可证
isc
下载
233
拥有者