2015-09-28 1 views
0

Мне нужно установить mbstring (и несколько других расширений) для PHP на Cloudbees. Это возможно?Как установить расширения PHP на Cloudbees?

Обратите внимание, что я использую обновленную версию PHP, как описано здесь: https://developer.cloudbees.com/bin/view/DEV/PHP+Builds

Я не думаю, что сценарии имеют доступ SUDO, поэтому я не могу просто использовать менеджер пакетов. Я не думаю, что эти расширения существуют как пакеты PEAR. Поэтому я в тупике.

ответ

0

Вот ответ от поддержки Cloudbees. Кажется, все хорошо, просто убедитесь, что у вас нет пробелов в пути создания Jenkins!

Наши предоставленные версии PHP не активировали модуль mbstring. Вам нужно будет создать свою собственную версию PHP для ее получения. Чтобы убедиться, что ваша пользовательская PHP-версия работает на slave-платформе Cloudbees, вы можете создать ее с помощью задания Jenkins на вашем экземпляре (с различными параметрами --with-XXX или -without-XXX).

Мы сами делаем что-то вроде этого с помощью сценария, как

# Download 
regex='.*(RC|alpha|beta).*' 
if [[ $version =~ $regex ]]; then 
    wget http://downloads.php.net/dsp/php-${version}.tar.bz2 
else 
    wget http://us3.php.net/distributions/php-${version}.tar.bz2 
fi 

# Unpack 
tar xjf php-${version}.tar.bz2 

# Build 
cd php-${version} 
./configure --prefix=/home/jenkins/tools/php/${php_name} \ 
    --with-curl --with-openssl 
make && make install 

В качестве побочного узла, вы должны также позаботиться указания хорошего установки префикса с --prefix. Я бы выбрал что-то вроде /home/jenkins/tools/php/5.4/.

Чтобы сохранить скомпилированный PHP-движок, вы можете создать файл tar.gz // bz2 целевой установочной директории. Затем сохраните его в своем каталоге WebDAV, который доступен в/private/{account}/во время сборки, когда установлен флажок «Mount CloudBees DEV @ cloud Private WebDav Repository».

Вы должны добавить первый шаг к заданиям, требующим, чтобы PHP извлекал этот архив. Поскольку рабочее пространство Jenkins обычно кэшируется в DEV @ Cloud, вы можете извлечь архив, только если его еще нет. Это ускорит вашу сборку.

Смежные вопросы