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

packagesbuild-optionsフォルダーをS3バケット内に置くパス。デフォルト: '/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
所有者