Дженкинс не может найти g ++ - PullRequest
0 голосов
/ 13 апреля 2019

Я изучаю все эти новые технологии.У меня есть домашний сервер для частной разработки с последней версией centos 7.6 (минимальная установка).Я пытаюсь сохранить сервер как можно более легким.

Я установил jenkins (v2.164.2), и он работает и работает правильно.Я создал новый проект Freestyle для компиляции проекта g ++, размещенного на другом собственном сервере gogs.Я определил URL-адрес и учетные данные gogs, а затем добавил в команду execute shell следующее:

which g++; make clean; make;

Когда я нажимаю кнопку «Build Now», происходит сбой со следующим сообщением:

который: нет g ++ in (/ sbin: / usr / sbin: / bin: / usr / bin)

Клонирование хранилища и т. Д., Кажется, работает нормально.

Я НЕ установил версию g ++ по умолчанию, но вместо этого я установил ту, которая поставляется с devtools-7 (g ++ v7.3.1).Я создал новый файл в /etc/profile.d/devtools.sh со следующим текстом:

!#/bin/bash
source scl_source enable devtoolset-7

Если я вхожу в оболочку bash на сервере, а затем запускаю g ++, я получаюожидаемый результат.

Наконец, вопрос: почему Дженкинс не поднимает это?Насколько я знаю, добавление этого файла в /etc/profile.d гарантирует, что каждый сможет получить доступ к g ++.

Заранее большое спасибо за любую помощь.

1 Ответ

0 голосов
/ 13 апреля 2019

Мне удалось это исправить в конце. Я оставляю вопрос на тот случай, если кто-то столкнется с той же проблемой. Мне только нужно было добавить следующую строку в качестве первой строки в поле команды «execute shell»:

#!/bin/bash -l
make clean; make;

Что #! / Bin / bash -l добились цели. (Пожалуйста, помните -l).

Нашел здесь: Какую оболочку использует Дженкинс?

...