Есть наверняка всем известная возможность скачать с сайта Bitrix уже собранную для VirtualBox VM, вот тут. У меня есть желание сделать из нее box для Vagrant. Я его уже собрал из доступных для скачивания файлов и еще парочки, в итоге коробка по сути готова. Однако, есть принципиальный момент, мешающий использовать ее - при старте VM предлагает выбрать вот это:
Это если мы вручную импортируем ее в VirtualBox, если же мы упакуем это в box для Vagrant, то он естественно не сможет выбрать нужный пункт и вывалится с примерно таким вот логом:
Код
C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh/prompt.rb:45:in `noecho': Bad file descriptor (Errno::EBADF)
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh/prompt.rb:45:in `ask'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh/authentication/methods/password.rb:68:in `ask_password'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh/authentication/methods/password.rb:21:in `authenticate'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh/authentication/session.rb:85:in `block in authenticate'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh/authentication/session.rb:71:in `each'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh/authentication/session.rb:71:in `authenticate'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/net-ssh-5.0.2/lib/net/ssh.rb:246:in `start'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/vagrant-2.1.5/plugins/communicators/ssh/communicator.rb:415:in `block (2 levels) in connect'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:93:in `block in timeout'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:33:in `block in catch'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:33:in `catch'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:33:in `catch'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:108:in `timeout'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/vagrant-2.1.5/plugins/communicators/ssh/communicator.rb:389:in `block in connect'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/vagrant-2.1.5/lib/vagrant/util/retryable.rb:17:in `retryable'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/vagrant-2.1.5/plugins/communicators/ssh/communicator.rb:388:in `connect'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/vagrant-2.1.5/plugins/communicators/ssh/communicator.rb:84:in `block in wait_for_ready'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:93:in `block in timeout'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:33:in `block in catch'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:33:in `catch'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:33:in `catch'
from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/timeout.rb:108:in `timeout'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/vagrant-2.1.5/plugins/communicators/ssh/communicator.rb:62:in `wait_for_ready'
from C:/Program Files (x86)/Vagrant/embedded/gems/2.1.5/gems/vagrant-2.1.5/lib/vagrant/action/builtin/wait_for_communicator.rb:16:in `block in call'
Вопрос: кто-то уже делал коробки из данного образа VM? Как обходили данную проблему? Может, есть уже готовые сборки коробок на основе официальной версии VM?
Это Вы всего скорее нажали какую-то из кнопок или что-то меняли внутри самой вирт. машины, так как по умолчанию через несколько секунд (5 для grub), оно должно выбрать пункт по умолчанию - а это первый пункт.
Екатерина Шемаева написал: Это Вы всего скорее нажали какую-то из кнопок или что-то меняли внутри самой вирт. машины, так как по умолчанию через несколько секунд (5 для grub), оно должно выбрать пункт по умолчанию - а это первый пункт.
Не-не, если мы ее разворачиваем как просто VM через импорт в VirtualBox - все именно так, как вы и пишете. Другое дело, что при разворачивании через Vagrant там в принципе иначе все происходит и лог ошибок об этом косвенно и говорит. В общем, нужен кто-то кто понимает именно в Vagrant.
Станислав Беличенко написал: Не-не, если мы ее разворачиваем как просто VM через импорт в VirtualBox - все именно так, как вы и пишете. Другое дело, что при разворачивании через Vagrant там в принципе иначе все происходит и лог ошибок об этом косвенно и говорит. В общем, нужен кто-то кто понимает именно в Vagrant.
Для целей тестирования у нас есть образ vagrant и по сути до момента старта машина ничем не должна отличаться от обычной, а вот уже после старта - должны быть ключи и специальный пользователь для выполнения всяких полезных вещей. Я бы рекомендовала таки запустится через вагрант:
Код
v.gui = true
В Vagrantfile Убедится что дело именно в в этом - то есть нажать Enter в меню граба, дойти до этапа загруженной ОС и увидеть что vagrant up полностью доработал. И потом уже изнутри ОС смотреть почему граб не включает обратный отсчет, если нужно заблокировать ненужные пункты меню - так же из вирт. машины.
профита не вижу - т.к. - все равно надо ставить bitrix и решение партнера - демо ключь bitrix на 30 дней не позволяет хранить подготовленные образы - если заранее установить все и настроить и потом экспортнуть - через 30 дней протухнет такая сборка
Роман Семёнов, да я сам занимаюсь разработкой, я представляю компанию которая хочет опубликоваться в маркетплейсе со своим решением, так что вопросы ключей и прочие для меня не актуальны.
Это тот на который ссылаются выше? Я его видел, но прошло 2 года - есть ощущение, что там уже устарело все. Брать чужие сборки не хочется, хочется именно от Битрикс, понятное дело.
Цитата
Екатерина Шемаева написал: И потом уже изнутри ОС смотреть почему граб не включает обратный отсчет
Хм, то есть по умолчанию там раньше граб пролетал без ошибок? Это здорово. Я просто брал вашу VM для VirtualBox и сам создавал vagrant box для него, там не так сложно, нужен файл манифеста и при желании Vagrantfile.
Станислав Беличенко написал: Это тот на который ссылаются выше? Я его видел, но прошло 2 года - есть ощущение, что там уже устарело все. Брать чужие сборки не хочется, хочется именно от Битрикс, понятное дело.
Нет, собираем через packer (https://www.packer.io/) для тестирования машинки. Но по сути там: -- настройка через скрипты необходимых штук ( virtualbox драйвера, всякие полезные утилиты для дебага) -- установка в "тихом" режиме через bitrix-env.sh чистой centos7 -- очистка машинки, чтобы при первом старте она сделала первоначальную настройку (сброс паролей и прочих штук) -- у packer есть отдельный модуль, он сам пакует .box Никогда тестовую машину не выкладывали никуда , она исключительно для внутреннего тестирования используется
Цитата
Станислав Беличенко написал: Хм, то есть по умолчанию там раньше граб пролетал без ошибок?
Конечно, если Вы брали стандартную машинку должен пролетать без ошибок.
Екатерина Шемаева написал: Никогда тестовую машину не выкладывали никуда
Так погодите, я просто на основании вашего статуса Администратор решил что вы из Битрикс и речь именно про ваши машины. На самом же деле вы из другой компании и просто являетесь разработчиком на этой платформе?
Попробовал. Тот же лог что и выше. Обращаю внимание, что пробую на своей собственной коробке, которую собрал по сути просто скопировав в нее файл вашей VM для VB.
Екатерина Шемаева написал: Никогда тестовую машину не выкладывали никуда
Так погодите, я просто на основании вашего статуса Администратор решил что вы из Битрикс и речь именно про ваши машины. На самом же деле вы из другой компании и просто являетесь разработчиком на этой платформе?
а вот это было обидно конечно, Екатерина из Битрикса! контакты разработчика аппа из вашей ссылки есть там же на странице внизу
Станислав Беличенко написал: Так погодите, я просто на основании вашего статуса Администратор решил что вы из Битрикс и речь именно про ваши машины. На самом же деле вы из другой компании и просто являетесь разработчиком на этой платформе?
Для тестирования сборки виртуальной машины мы используем vagrant (для внутреннего использования так сказать и автоматизации тестирования), но сам .box мы никогда не выкладывали, так как он как раз подходит только для тестирования.
Цитата
Станислав Беличенко написал: Попробовал. Тот же лог что и выше. Обращаю внимание, что пробую на своей собственной коробке, которую собрал по сути просто скопировав в нее файл вашей VM для VB.
Таки причем здесь лог. Машина загрузилась или нет? Если она дошла до этапа менюу граба, то нажмите Enter и попробуйте таки дойти до этапа приглашения в ОС.
Цитата
Станислав Беличенко написал: Не понял, в каком варианте использования? Если взять образ VM и напрямую его в VB засунуть? Если собрать из него box для Vagrant?
По идее в любом, если Вы ничего не меняете на уровне загрузчика.
Еще обращу внимание, что vagrant+virtualbox очень нежен к версиям virtualbox драйверов. В существующей сборке под VirtualBox использована версия меньше, чем 5.1.18, поэтому перед тем как из машинки создавать .box лучше поставить драйвера той версии, которая используется у Вас.
Александр Суворов, ага, я с ним пообщался даже уже. Вообще, конечно было бы здорово, если вы с ним договорились бы о передаче прав на ту коробку, так как вводит в заблуждение такое название там. Но это так, лирика.
Екатерина Шемаева, понял. Именно, машина не загрузилась. Пока не дошли руки с этим дальше разбираться, по итогу отпишусь тут.
Дамы и господа, еще такой вопрос: собрал более менее коробку под свои нужды, взяв стандартную centos и ваш скрипт, устанавливающий все необходимое для Bitrix. Немного подготовил скриптами коробку и вуаля, ваш скрипт работает как надо, установка проходит отлично. Но появляется следующая проблема - если синхронизировать папку какую-то отдельную на сервере, не связанную с папкой, куда Bitrix будет устанавливать себя - все отлично, заходишь на веб-морду, происходит скачивание и установка. Но если ты синхронизируешь папку /home/bitrix, то при установке начинаются ошибки и жуткие тормоза. То не возможно что-то там распаковать, то невозможно подключиться к БД, то что-то еще. Вот кусочек моего Vagrantfile:
Код
if FS_TYPE=='vboxsf'
# TODO: не работает этот вариант, если включим дебаг и начнем логи писать в файлы - пишет что файл (лог) занят для записи
if Vagrant.has_plugin? 'vagrant-vbguest'
config.vm.synced_folder ".", SYNC_PATH,
type: "virtualbox",
mount_options: ["dmode=777", "fmode=666"]
else
puts 'ERROR: vagrant-vbguest plugin not found.'
abort
end
elsif FS_TYPE=='nfs'
if Vagrant.has_plugin? 'vagrant-winnfsd'
config.vm.synced_folder ".", SYNC_PATH,
type: "nfs"
config.vbguest.auto_update = false
else
puts 'ERROR: vagrant-winnfs plugin not found.'
abort
end
else
puts 'ERROR: Wrong FS type.'
abort
end
Пробовал оба варианта, и с vbguest и с nfs - оба не работают как надо. Может быть, нужно какие-то дополнительные параметры для синхронизации указать? Или может кто-то просто скажет сразу рабочий вариант, как подключать папку проекта? Иначе не слишком удобно все выходит
Станислав Беличенко написал: Но если ты синхронизируешь папку /home/bitrix, то при установке начинаются ошибки и жуткие тормоза. То не возможно что-то там распаковать, то невозможно подключиться к БД, то что-то еще. Вот кусочек моего Vagrantfile:
по этой причине забил на vagrant
а синхронизировать можно через phpstorm или свои скрипты через ssh - rsync, scp и т.п.