Bento adalah proyek yang merangkum template Packer untuk membuat kotak dasar Vagrant. Subset templat dibuat dan dipublikasikan ke organisasi bento di Vagrant Cloud. Kotak-kotak yang diterbitkan ini berfungsi sebagai kotak default untuk gelandangan dapur.
* CATATAN:
bento test
berfungsi, permata dapur uji dan gelandangan dapur harus diinstalvboxmanage = []
ke file os_pkrvars.Menambahkan kotak bento ke Vagrant
vagrant box add bento/ubuntu-18.04
Menggunakan kotak bento di Vagrantfile
Vagrant . configure ( "2" ) do | config |
config . vm . box = "bento/ubuntu-18.04"
end
*1 CATATAN: dukungan untuk penyedia ini dianggap eksperimental dan gambar Vagrant Cloud yang sesuai mungkin ada atau mungkin tidak ada.
*2 CATATAN: Dukungan AARCH64 atau ARM64 masih dalam proses dan hanya dijamin melalui penyedia paralel dan vmware.
bento
yang dapat dieksekusi Untuk membuat vagrant box Debian menggunakan alat bento dengan template yang tersedia di direktori os_pkrvars
, kita dapat menggunakan perintah berikut:
bento build --cpus 2 os_pkrvars/debian/debian-12-x86_64.pkrvars.hcl
Opsi lain yang tersedia:
Digunakan untuk mencantumkan semua build yang tersedia untuk arsitektur cpu workstation. Daftar ini juga difilter berdasarkan bagian file build.yml do_not_build:. Semua entri dicocokkan melalui regex untuk memfilter templat build dari daftar.
Ini hanya menunjukkan apa yang akan dibangun dengan bento build
dan tidak ada template yang ditentukan. Jika ada templat yang ditentukan meskipun templat tersebut ada di build.yml yang akan difilter, templat tersebut akan menggantikan filter.
bento list
Jika Anda berhasil membuat kotak gelandangan menggunakan alat bento, Anda harus memiliki kotak gelandangan dan file metadata di folder builds
. Anda dapat menggunakan file ini untuk menguji build dengan konfigurasi dapur uji. Jalankan perintah berikut untuk menguji build.
bento test
Untuk mengunggah kotak di direktori build ke akun vagrant cloud Anda, perbarui file build.yml untuk menentukan nama akun Anda dan OS mana yang akan bersifat publik.
Pastikan Anda telah mengkonfigurasi vagrant cli dan masuk ke akun Anda agar perintah unggah berfungsi.
bento upload
Saat menjalankan bento upload
ia akan membaca setiap file <box_name>._metadata.json dan menggunakan data yang disediakan untuk menghasilkan perintah vagrant cloud publish
dengan deskripsi, versi, penyedia, dan checksum yang semuanya berasal dari <box_name>._metadata.json mengajukan.
packer
Untuk membuat kotak Ubuntu 22.04 hanya untuk penyedia VirtualBox
cd < path/to > /bento
packer init -upgrade ./packer_templates
packer build -only=virtualbox-iso.vm -var-file=os_pkrvars/ubuntu/ubuntu-22.04-x86_64.pkrvars.hcl ./packer_templates
Untuk membangun kotak Debian 12 terbaru untuk semua penyedia yang memungkinkan (secara bersamaan)
cd < path/to > /bento
packer init -upgrade ./packer_templates
packer build -var-file=os_pkrvars/debian/debian-12-x86_64.pkrvars.hcl ./packer_templates
Untuk membangun kotak CentOS 7 terbaru untuk semua penyedia kecuali VMware dan Parallels
cd < path/to > /bento
packer init -upgrade ./packer_templates
packer build -except=parallels-iso.vm,vmware-iso.vm -var-file=os_pkrvars/centos/centos-7-x86_64.pkrvars.hcl ./packer_templates
Untuk menggunakan url alternatif
cd < path/to > /bento
packer init -upgrade ./packer_templates
packer build -var ' iso_url=https://mirrors.rit.edu/fedora/fedora/linux/releases/39/Server/x86_64/iso/Fedora-Server-dvd-x86_64-39-1.5.iso ' -var-file=os_pkrvars/fedora/fedora-39-x86_64.pkrvars.hcl ./packer_templates
Jika build berhasil, file kotak Anda akan berada di direktori builds
di akar repositori.
Anda harus mengunduh image iso dengan driver Windows untuk perangkat keras KVM/qemu yang diparavirtualisasi dan menempatkannya di direktori builds/iso/. Anda dapat melakukan ini dari baris perintah: mkdir -p builds/iso/; wget -nv -nc https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -O builds/iso/virtio-win.iso
Anda dapat menggunakan contoh perintah berikut untuk membuat kotak KVM/qemu Windows:
packer init -upgrade ./packer_templates
packer build --only=qemu.vm -var-file=os_pkrvars/windows/windows-2022-x86_64.pkrvars.hcl ./packer_templates
Templat untuk sistem operasi yang hanya tersedia melalui lisensi atau langganan juga tersedia di repositori, termasuk namun tidak terbatas pada: Red Hat Enterprise Linux, dan SUSE Linux Enterprise. Karena ISO tidak tersedia untuk umum, nilai URL perlu diganti sebagaimana mestinya. Kami mengandalkan upaya mereka yang memiliki akses ke versi sistem operasi berlisensi untuk selalu memperbaruinya.
Sebagian besar penyedia mengharapkan akses tidak terbatas ke jaringan agar dapat dibangun seperti yang diharapkan. Kami tidak dapat menyebutkan semua kemungkinan konfigurasi firewall, namun menyertakan beberapa cuplikan di bawah ini yang mungkin berguna bagi pengguna.
$VS = " Standardswitch "
$IF_ALIAS = ( Get-NetAdapter - Name " vEthernet ( $VS ) " ).ifAlias
New-NetFirewallRule - Displayname " Allow incomming from $VS " - Direction Inbound - InterfaceAlias $IF_ALIAS - Action Allow
VM Hyper-V Gen 2 tidak mendukung floppy drive. Jika sebelumnya Anda menyediakan sumber daya menggunakan floppy drive, Anda harus menambahkan file tersebut ke image iso Gen 2 Anda, khususnya:
autounattend.xml
: File autounattend.xml
Gen 2 mendukung partisi EFI. Perbarui autounattend.xml
dengan versi Windows yang benar untuk sistem Anda dan pastikan partisi tersebut sesuai dengan situasi Anda. Anda juga perlu mengelola disk driver yang menyimpan driver layanan tamu hyper-v dan menyesuaikan file autounattend.xml
sebagaimana mestinya.Silakan gunakan masalah GitHub untuk melaporkan bug, fitur, atau masalah lainnya.
Terima kasih sebesar-besarnya kepada proyek-proyek terkait yang menjadi inspirasi kami dan sering digunakan sebagai sumber solusi dalam dunia pembuatan kotak dasar yang kompleks.
Templat kotak dasar ini diubah dari definisi veewee yang awalnya berdasarkan pekerjaan yang dilakukan oleh Tim Dysinger untuk membuat kotak dasar modular "Jangan Ulangi Diri Sendiri" (KERING). Terima kasih Tim!
Copyright 2012-2024, Progress Software, Inc. (<[email protected]>)
Copyright 2011-2012, Tim Dysinger (<[email protected]>)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.