Настройка Buildbot для виртуальных машин - Red Hat 6 x86
Следующие шаги были использованы для создания сервера сборки Red Hat 6 x86.
Начальная настройка
cd vms qemu-img create -f qcow2 vm-rhel6-x86-base.qcow2 8G kvm -m 1024 -hda vm-rhel6-x86-base.qcow2 -cdrom ../iso/red-hat/rhel-server-6.0-i386-dvd.iso -redir 'tcp:22275::22' -boot d -smp 2 -cpu qemu32,-nx -net nic,model=virtio -net user
При загрузке виртуальной машины следуйте подсказкам.
При запросе переинициализируйте диск.
Установите имя хоста на "rhel6-x86".
Настройте сеть, установите eth0 в "Автоматическое подключение".
Установите пароль root.
Установите тип разбиения на разделы: Использовать всё пространство.
Не шифруйте разделы (это просто добавляет накладные расходы).
В появившемся окне выберите "Записать изменения на диск".
Установите программное обеспечение на "Виртуальный хост".
После нажатия кнопки "Далее" на странице выбора типа установки, начнется установка.
После завершения установки нажмите "Перезагрузить". Затем выключите виртуальную машину.
Настройка последовательного порта
cd vms qemu-img create -b vm-rhel6-x86-base.qcow2 -f qcow2 vm-rhel6-x86-serial.qcow2 kvm -m 1024 -hda vm-rhel6-x86-serial.qcow2 -redir 'tcp:22275::22' -boot c -smp 2 -cpu qemu32,-nx -net nic,model=virtio -net user
Войдите как root.
Добавьте в /boot/grub/menu.lst:
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=3 serial console
Также добавьте в menu.lst строку ядра (после удаления 'quiet'):
console=tty0 console=ttyS0,115200n8
Добавьте приглашение для входа на последовательном порту:
cat >>/etc/inittab <<END # Serial console. S0:2345:respawn:/sbin/agetty -h -L ttyS0 19200 vt100 END
Создание учетной записи buildbot
После настройки сети можно добавить пользователя, чтобы не входить в систему как root постоянно.
useradd buildbot # Password is disabled by default in Centos5. usermod -a -G wheel buildbot visudo # Uncomment the line "%wheel ALL=(ALL) NOPASSWD: ALL" # Comment out this line: # Defaults requiretty # Put in public ssh key for own account and host buildbot account. # Note that Centos5 seems to require .ssh/authorized_keys chmod go-rwx. su - buildbot mkdir .ssh chmod go-rwx .ssh # scp the key from the vm host over to .ssh/authorized_keys chmod go-rwx .ssh/authorized_keys
Теперь выйдите из системы и подключитесь к виртуальной машине по SSH как пользователь buildbot. На моём локальном компьютере я добавил следующее в файл ~/.ssh/config, чтобы упростить вход:
Host rhel6-x86 HostName localhost User buildbot IdentityFile ~/.ssh/id_rsa Port 2225
С этим можно просто ввести:
ssh rhel6-x86
...для подключения к виртуальной машине.
RHN и обновления
Зарегистрируйте систему в RHN:
sudo rhn_register
При регистрации выберите значения по умолчанию. После завершения процесса:
sudo yum update
При первом обновлении вам будет предложено импортировать некоторые ключи GPG от Red Hat. Процесс обновления может занять некоторое время в зависимости от количества обновлений и скорости вашего интернет-соединения.
После обновления выключите систему, чтобы сделать больше копий.
sudo shutdown -h now
Изображение для сборки RPM
qemu-img create -b vm-rhel6-x86-serial.qcow2 -f qcow2 vm-rhel6-x86-build.qcow2 kvm -m 1024 -hda vm-rhel6-x86-build.qcow2 -redir 'tcp:22275::22' -boot c -smp 2 -cpu qemu32,-nx -net nic,model=virtio -net user -nographic
Подождите, пока система загрузится.
Установите компиляторы и т.д.:
sudo yum groupinstall "Development Tools" sudo yum install libaio-devel openssl-devel
Если группа "Инструменты разработки" недоступна, следующие строки установят пакеты из неё:
# Mandatory Packages: sudo yum install autoconf automake binutils bison flex gcc gcc-c++ gettext sudo yum install libtool make patch pkgconfig redhat-rpm-config rpm-build # Default Packages: sudo yum install byacc cscope ctags cvs diffstat doxygen elfutils gcc-gfortran sudo yum install git indent intltool patchutils rcs subversion swig systemtap # Optional Packages: sudo yum install ElectricFence ant babel bzr chrpath cmake compat-gcc-34 sudo yum install compat-gcc-34-c++ compat-gcc-34-g77 dejagnu expect gcc-gnat sudo yum install gcc-java gcc-objc gcc-objc++ imake jpackage-utils libstdc++-docs sudo yum install mercurial mod_dav_svn nasm perltidy python-docs rpmdevtools sudo yum install rpmlint systemtap-sdt-devel systemtap-server
Другие пакеты для установки:
sudo yum install gperf readline-devel ncurses-devel zlib-devel perl perl\(DBI\)
Создайте каталоги rpm и скачайте RPM 5.0 для shared-compat:
sudo mkdir -vp /usr/src/redhat/SOURCES /usr/src/redhat/SPECS /usr/src/redhat/RPMS /usr/src/redhat/SRPMS sudo mkdir -vp /srv/shared/yum/CentOS/5/i386/RPMS/ cd /srv/shared/yum/CentOS/5/i386/RPMS/ sudo wget http://mirror.ourdelta.org/yum/CentOS/5/i386/RPMS/MySQL-OurDelta-shared-5.0.87.d10-65.el5.i386.rpm
Изображение для установки/тестирования
qemu-img create -b vm-rhel6-x86-serial.qcow2 -f qcow2 vm-rhel6-x86-install.qcow2 kvm -m 1024 -hda vm-rhel6-x86-install.qcow2 -redir 'tcp:22275::22' -boot c -smp 2 -cpu qemu32,-nx -net nic,model=virtio -net user -nographic
Установите дополнительные зависимости:
sudo yum install perl perl\(DBI\)
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/buildbot-setup-for-virtual-machines-red-hat-6-x86/