Каждый дистрибутив, как правило, имеет свой собственный набор инструментов для этого, здесь не так много общего программного обеспечения.
Debian использует wanna-build
, buildd
и sbuild
, документацию по которым вы все найдете на сайте Debian(также перейдите по ссылкам ). wanna-build
поддерживает очередь сборки, buildd
выбирает пакет для сборки и sbuild
строит его. wanna-build
отслеживает пакеты с отсутствующими зависимостями, используя состояние «отложенное -ожидание» ; пакеты могут войти в это состояние напрямую (, если wanna-build
сами могут определить, что зависимости отсутствуют )или после сбоя сборки из-за отсутствующих зависимостей. Существует учебник , если вы хотите настроить локальную инфраструктуру сборки.
Fedora использует Koji , подробно документированный . Он также включает ряд различных компонентов , в том числе koji-hub
, интерфейс централизованной базы данных -и kojid
, который управляет сборками. Я не так хорошо знаком с Koji, поэтому я не знаю, как все это интегрируется для обработки состояний сборки.
Другие дистрибутивы имеют другие системы сборки, такие как Launchpad .Все они решают те же задачи, что и вы :централизованное представление всех пакетов, несколько систем сборки и централизованный репозиторий, в который поступают результаты сборки.
Вспышка, по-видимому, была отвлекающим маневром. Вот файл упаковщика, который будет успешно брать DVD-диск centos7 и загружать его таким образом, что GCP распознает его как способный быть помеченным как «экранированный» и «vtpm» включенным. Для обеспечения безопасности и конфиденциальности требуется дополнительная работа.
{
"builders": [
{
"accelerator": "hvf",
"boot_command": [
"<tab> console=ttyS0,115200n8 nomodeset text ks=http://{{.HTTPIP }}:{{.HTTPPort }}/centos7.ks<enter><wait>"
],
"boot_key_interval": "10ms",
"boot_wait": "1s",
"communicator": "none",
"disk_interface": "virtio",
"disk_size": "4000",
"format": "raw",
"cpus": 4,
"memory": 8192,
"headless": false,
"http_directory": "http",
"iso_checksum": "sha256:101bc813d2af9ccf534d112cbe8670e6d900425b297d1a4d2529c5ad5f226372",
"iso_url": "http://Your Mirror Here/centos/7/isos/x86_64/CentOS-7-x86_64-NetInstall-2003.iso",
"net_device": "virtio-net",
"output_directory": "output_centos_tdhtest",
"qemu_binary": "/usr/local/bin/qemu-system-x86_64",
"qemuargs": [
["-L", "./bios.bin"],
["-chardev", "file,id=pts,path=serial.log"],
["-device", "isa-serial,chardev=pts"],
["-m", "8G"],
["-smp", "cpus=4"],
["-display", "cocoa"]
],
"shutdown_command": "",
"shutdown_timeout": "20m",
"skip_compaction": true,
"type": "qemu",
"vm_name": "disk.raw"
}
],
"post-processors": [
[
{
"output": "disk.raw.tar.gz",
"type": "compress"
},
{
"bucket": "{{user `env_name`}}-os-images",
"image_description": "CentOS 7 Server",
"image_family": "centos-7",
"image_name": "b1-centos7-server-{{timestamp}}",
"image_guest_os_features": "UEFI_COMPATIBLE",
"project_id": "{{user `gcp_project`}}",
"type": "googlecompute-import"
}
]
]
}
Предоставьте свой собственный файл кикстартера.