Я запускаю Jenkins на хосте Linux. Я автоматизирую сборку приложения на C++. Чтобы создать приложение, мне нужно использовать версию g ++ версии 4.7, которая включает поддержку C++ 11. Для того, чтобы использовать эту версию г ++ я запускаю следующую команду в командной строке:Выполнение команды «exec» в Jenkins «Execute Shell»
exec /usr/bin/scl enable devtoolset-1.1 bash
Так что я создал «Выполнить оболочку» строить шаг и следующие команды, которые правильно строит приложение C++ по команде подскажите:
exec /usr/bin/scl enable devtoolset-1.1 bash
libtoolize
autoreconf --force --install
./configure --prefix=/home/tomcat/.jenkins/workspace/project
make
make install
cd procs
./makem.sh /home/tomcat/.jenkins/workspace/project
проблема заключается в том, что Дженкинс не будет работать любой из команд после «ехес/USR/BIN/SCL позволяют devtoolset-1.1 Баш» команду, но вместо этого просто запускает «EXEC» команду, прекращает и делает сборку успешной.
Любые идеи о том, как я могу перестроить описанное выше, чтобы Jenkins выполнил все команды?
Спасибо!
Эй Марк: Я пытался делать «&&», однако он по-прежнему не удается из-за того, что когда я бегу «EXEC/USR/BIN/SCL включить devtoolset-1.1 Баш» Я считаю, что отдельная оболочка порождена, но она все равно будет ссылаться на версию GCC 4.4, а не на 4.7. Вместо этого я просто ввел переменную PATH следующим образом: PATH =/opt/centos/devtoolset-1.1/root/usr/bin: $ PATH Это, по сути, поставило бы 4.7 г ++ исполняемый файл перед 4 ,4, и это применимо только к проекту. Я не уверен, что это лучшее решение, но оно соответствует тому, что я пытался сделать. – ossys