JoergFiedler.freebsd-build-server

FreeBSD 构建服务器

创建一个 FreeBSD 服务器,提供一个可以运行的 'poudriere' 安装。有关更多信息,请参阅 FreeBSD 手册

我希望有一个构建服务器,而不必一直运行。为此,所有软件包的包存储库和构建选项都同步到 S3。这样,在软件包构建和同步后,我可以销毁构建服务器。

在开始之前,你可以通过设置相应 Ansible 变量的路径来提供你自己的文件。

  1. make.confpoudriere_build_options_file
  2. ports-listpoudriere_port_list_file
  3. poudriere.keypoudriere_key_file

你可以通过提供自己的文件版本并设置相应 Ansible 变量的路径来做到这一点。

考虑到这些,典型的工作流程如下:

  1. 创建一个新服务器(可以使用 Vagrant 文件
  2. 应用该 Ansible 角色
  3. 登录
  4. 运行:sudo build-ports
  5. 运行:sudo upload-to-s3
  6. 登出
  7. 销毁服务器

简单易行。

要求

该角色旨在与新安装的 FreeBSD 使用,仅需一些小修改。你可以使用一个配有 VirtualBox 和 EC2 的 Vagrant Box。我创建了 这个 Vagrant 项目 来创建 VirtualBox 和 EC2 机器。

角色变量

aws_default_region

使用的 S3 区域。默认:''

aws_access_key_id

S3 访问密钥。默认:''

aws_secret_access_key

S3 秘密密钥。默认:''

s3_bucket_name

用于存储软件包和构建选项的桶。默认:''

s3_upload_path

在 S3 桶中放置 packagesbuild-options 文件夹的路径。默认:'/public/FreeBSD'

freebsd_mirror_server

用于设置 jail 的 FreeBSD 镜像服务器。默认:'ftp://ftp.freebsd.org'

poudriere_ssl_prefix

软件包签名密钥应保存的路径。默认:'/usr/local/etc/ssl'

poudriere_key_file

用于签署软件包的私钥。请更改为你自己的密钥。默认:'poudriere.key.default'

poudriere_ports_list_file

要构建的端口列表。默认:'ports-list.default'

poudriere_ports_branch_name

通过 svn 检出和构建的端口分支名称。默认:'head'

poudriere_build_options_file

用于构建软件包的构建选项 make.conf。默认:'make.conf.default'

poudriere_jails

要创建的 jail。

poudriere_jails:
- { jail_name: 'freebsd-11_2_x64', version: '11.2-RELEASE' }

默认:''

poudriere_zpool

将由 poudriere 使用的 zpool 名称。如果池不存在,将使用 poudriere_zpool_devices 中指定的设备创建。默认:'tank'。

poudriere_zpool_devices

用于创建 poudriere 的 zpool 的设备,例如 /dev/nvd1。默认:''。

依赖关系

无。

示例剧本

---
- hosts: default
  sudo: true

  vars:
    aws_access_key_id: '{{ lookup("env","AWS_ACCESS_KEY_ID") }}'
    aws_secret_access_key: '{{ lookup("env","AWS_SECRET_ACCESS_KEY") }}'
    aws_default_region: '{{ lookup("env","AWS_DEFAULT_REGION") }}'
    s3_bucket_name: 'repo.bucket.name'
    poudriere_ports_list_file: './files/ports.list'
    poudriere_key_file: './files/poudriere.key'
    poudriere_build_options_file: './files/make.conf'
    poudriere_jails:
      - { jail_name: 'freebsd-11_2_x64', version: '11.2-RELEASE' }

  roles:
  - { role: JoergFiedler.freebsd-build-server }

许可证

BSD

作者信息

如果你喜欢这个项目或有改进的想法,请在 Github 上提出问题。谢谢。

关于项目

Creates a FreeBSD build server (poudriere).

安装
ansible-galaxy install JoergFiedler.freebsd-build-server
许可证
Unknown
下载
107
拥有者